首页 > 数据库 >mysql在liunx下面的自动备份

mysql在liunx下面的自动备份

时间:2023-07-24 17:45:45浏览次数:57  
标签:备份 DB 命令 自动 liunx mysql BACKUP

由于系统基本开发完成,为了保证数据安全,需要将数据库自动备份,以下是实现自动备份的步骤:

一、在本地自动备份数据库

  1. 使用mysql自带的服务mysqldump实现自动备份,首先使用vim命令编辑以下命令并且保存    

#!/bin/bash

DB_USER='***' 
DB_PASSWORD='*******'
DB_NAME='******'

BACKUP_DIR='/backup'
BACKUP_FILE="$BACKUP_DIR/${DB_NAME}-$(date +%Y%m%d-%H%M%S).sql"

mysqldump -u$DB_USER -p$DB_PASSWORD $DB_NAME > $BACKUP_FILE

find $BACKUP_DIR -type f -mtime +30 -name '*.sql' -exec rm -f {} \;

  其中,DB_USER是mysql的用户名,DB_PASSWORD 是数据库密码,DB_NAME数据库名称,BACKUP_DIR是备份的目录, BACKUP_FILE是备份的文件名,此处使用了数据名称+当前的日期和时间来命名,最后一个命令是删除30天以前的备份文件

  注意:如果使用VIM编辑命令,在命令模式下输入:wq回车即可退出保存,vim默认为普通命令模式,按ESC键可以切换模式,也可以在本地编辑好文件然后使用xftp等工具上传到指定目录

  2. 使用下面的命令将备份的脚本文件设置为可执行  

chmod +x /backup/backup_mysql.sh

  3. 使用crontab设置脚本自动运行时间,类似windows中的自动任务,如果没有安装crontab需要先安装才可以使用,我是使用

  • yum install crontabs命令安装的,不同的操作系统有所区别可以查询一下,安装完成后使用命令 crontab -e 编辑 自动任务执行命令,我的命令如下:
0,6,13,22 0 * * * /backup/backup_mysql.sh

  表示每天0、6、13、22点0分执行备份命令,crontab命令的第一列表示时、第二列表示分、第三列为日 ,第四列为月,第五列为周,规则与CronExpression有点类似,具体的使用方法可以在网上查询

   执行脚本保存后,等待时间到了即会自动执行备份任务。

二、在其它服务器上自动备份数据库,方法与在本地备份其实是差不多的,只是增加一个将备份文件复制到其它服务器的操作,我这里使用了openssh进行文件复制,openssh,主要用于远程登录服务器,类似于windows的Telnet服务,但是openssh,相对Telnet来说,OPENSSH更为安全

 

标签:备份,DB,命令,自动,liunx,mysql,BACKUP
From: https://www.cnblogs.com/ithome8/p/17577876.html

相关文章

  • Linux安装mysql 02
    1:新建目录: 2:下载Mysql数据库文件:wgethttps://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.39-1.el7.x86_64.rpm-bundle.tar:3:安装数据库文件解压文件tar-xvfmysql-5.7.39-1.el7.x86_64.rpm-bundle.tar yum-yinstallmysql-comm*.rpm 按照......
  • Mysql高级1-存储引擎
    一、Mysql体系结构 1.1、连接层最上层是一个客户端和链接服务,主要完成一些类似于链接处理,授权认证,及相关的安全方案,服务器也会为安全接入的而每个客户端验证它所具有的操作权限1.2、服务层第二层架构主要完成大多数的核心服务功能,如SQL接口,并完......
  • Qt mingw73_32 + MySql8.0 使用和对数据库操作 - 初窥篇1
    1、开发环境QtCreator4.8.2+Qt5.12.2+MySql8.0.332、设计背景现在已经有MySql8.0.33是64位的数据库,仅支持64位的程序,但是当前Qt程序编译环境是mingw73_3232位程序连接64位的数据库实例3、操作流程1)测试驱动代码+测试结果intmain(inta......
  • linux sh 脚本:备份文件及删除十天以前的备份文件
     #如果文件夹不存在,创建文件夹if[!-d"/www/backup/data"];thenmkdir/www/backup/ant-datafi#切换目录cd/usr/#开始打包备份tar-zcvf/www/backup/data/data-$(date+%Y%m%d).tar.gzdata#移除十天以前的备份文件包find/www/backup/data/-mtime+10-n......
  • Navicat连接Mysql出现“plugin 'caching_sha_password' cannot be loaded”错误
    Navicat连接Mysql出现“plugin'caching_sha_password'cannotbeloaded”错误问题现场​​**官方说明:**​https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html解决方案使用本地mysql命令行登录;mysql-uroot-p先查一下看看--使用......
  • 如何发现及处理 MySQL 主从延迟问题
    在PerconaMySQL支持团队中,我们经常看到客户抱怨复制延迟的问题。当然,这对MySQL用户来说并不是什么新鲜事,多年来我们在MySQL性能博客上发表过一些关于这个主题的文章(过去有两篇特别受欢迎的文章:"ReasonsforMySQLReplicationLag"和“ManagingSlaveLagwithMySQLRep......
  • 使用mysqldump备份数据库时报错表不存在,提示信息Table 'mysql.engine_cost' doesn't e
    问题描述:使用mysqldump备份数据库时报错表不存在,提示信息Table'mysql.engine_cost'doesn'texist,如下所示:数据库:mysql5.7.211、异常重现[mysql@hisdb1~]$mysqldump-uroot-S/mysql/data/mysql.sock-P3306--max_allowed_packet=1G--master-data=2--single-transaction......
  • Ruby实践—连接Mysql
    安装环境:OS:WindowsXPRuby:Ruby1.9.1Mysql:Mysql5.1.46(username/password:root/root port:3306)Ruby-MysqlDriver:mysql-2.8.1-x86-mswin32.gem(注:用2.7.3版本的驱动在测试时会出现require"mysql",找不到指定模块IDE:RubyMine2.0.1 安装Ruby,RubyMine,Mysql的事项在这里就不......
  • 怎么在MYSQL显示默认值
    项目方案:在MySQL中显示默认值1.简介在MySQL中,可以为表的列设置默认值,以确保在插入新记录时,如果没有提供该列的值,将使用默认值作为替代。本项目旨在提供一个方案,用于在MySQL中显示默认值。2.实现方案2.1创建表格首先,我们需要创建一个包含默认值的表格。可以使用以下代码在My......
  • 怎么关闭windwos的mysql端口
    如何关闭Windows的MySQL端口MySQL是一个常用的关系型数据库管理系统。通常情况下,MySQL使用默认的端口号3306来监听客户端连接请求。然而,在某些情况下,您可能希望关闭MySQL的端口,例如在进行一些网络安全配置或调试时。本文将介绍如何在Windows操作系统上关闭MySQL的端口。方案概述......