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