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
结语:这篇其实是写给一位公司的妹子的,可惜她并没有用到
杂家不如专家,精益求精