Mysql自动备份

创建存放备份sql的文件夹

mkdir /usr/src/mysqlbackup

测试命令行备份数据库

/usr/local/mysql/bin/mysqldump --opt -uroot -proot -hlocalhost Qls1.4 > /usr/src/mysqlbackup/`date +%F`.sql
  • [ /usr/local/mysql/bin/mysqldump] mysql的备份脚本
  • [--opt ] 参数
  • [-uroot ] -u数据库用户名 -h数据库地址 数据库名 > 导出的文件路径;
  • [-proot ] -p数据库用户密码
  • [ -hlocalhost] 数据库地址
  • [Qls1.4] 要备份的数据库名
  • [> /usr/src/mysqlbackup/`date +%F`.sql] 存储到目录下的2018.7.26.sql文件

编写脚本

vim bkDatabaseName.sh
解释:打开linux的编辑器 写入内容 文件名字为 bkDatabaseName.sh

写入下面内容

DB_USER="root" DB_PASS="root" #你的数据库密码 
DB_HOST="localhost" DB_NAME="Qls1.4" #你要备份的数据库
 BIN_DIR="/usr/local/mysql/bin" BCK_DIR="/usr/src/mysqlbackup" #备份文件存放的位置 
DATE=`date +%F`
$BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS -h$DB_HOST $DB_NAME > $BCK_DIR/$DATE.sql

 

注意:现在输入ll就是两个LL可以查看到当前目录所 有的文件,可以发现sqlAutoBak.sh使没有执行权限的 ,所以要给这个脚本赋可执行权限 
 chmod +x bkDatabaseName.sh 
上面一大串脚本解释:其实也就是把手动命令行的命令给写在 了文件中,把脚本总的数据库账户和密码和要备份的数 据库要改成自己的,你现在可以测试这个脚本是否可 以使用只要执行下面命令,就可以到/jimisun/mysqlBackup 文件夹下查看是否已经备份 
./bkDatabaseName.sh 

使上面脚本每天自动自行实现自动备份

1.确认crontab是否安装
crontab -l 
如果报 “command not found” ,就说明该crontab服务没有安装 如果报 “no crontab for root” ,就说明已经安装crontab服务了, 不用再安装了 
2.如果没有则安装crontab服务
yum install -y vixie-cron yum install crontabs /sbin/service crond start chkconfig --level 35 crond on 
3.将上面的备份脚本加入到crontab服务中,使每天早上五点自动备份数据库
crontab -e 

插入下面这一行

00 05 * * * /bin/sh /usr/src/mysqlbackup/bkDatabaseName.sh

查看自动备份任务是否创建成功

crontab -l
posted @ 2019-02-27 15:18  tianyamoon  阅读(8823)  评论(1编辑  收藏  举报