MySql在Linux上实现每天自动备份

Mysql自动备份

创建存放备份sql的文件夹

mkdir /jimisun/mysqlBackup 

测试命令行备份数据库

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

编写脚本

cd /usr/local/ mkdir mysql cd mysql vim sqlAutoBak.sh 
解释:打开linux的编辑器 写入内容 文件名字为sqlAutoBak.sh 

写入下面内容

DB_USER="root" DB_PASS="jimisun" #你的数据库密码 
DB_HOST="localhost" DB_NAME="test" #你要备份的数据库
 BIN_DIR="/usr/bin" BCK_DIR="/jimisun/mysqlBackup" #备份文件存放的位置 
DATE=`date +%F` $BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS -h$DB_HOST $DB_NAME > $BCK_DIR/db_$DATE.sq 
注意:现在输入ll就是两个LL可以查看到当前目录所 有的文件,可以发现sqlAutoBak.sh使没有执行权限的 ,所以要给这个脚本赋可执行权限 
 chmod +x sqlAutoBak.sh 
上面一大串脚本解释:其实也就是把手动命令行的命令给写在 了文件中,把脚本总的数据库账户和密码和要备份的数 据库要改成自己的,你现在可以测试这个脚本是否可 以使用只要执行下面命令,就可以到/jimisun/mysqlBackup 文件夹下查看是否已经备份 
./sqlAutoBak.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/local/mysql/sqlAutoBak.sh 

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

crontab -l

结语:这篇其实是写给一位公司的妹子的,可惜她并没有用到
posted @ 2018-08-04 11:29  jimisun  阅读(9974)  评论(0编辑  收藏  举报
豫ICP备17005230号-3