Mysql 自动备份脚本
时间:2021-07-01 10:21:17
帮助过:2人阅读
mysql>grant select,lock tables on yyyy.*to ‘kanghui‘@‘192.168.10.11‘ identified by ‘123456‘;
设置访问权限后就在备份服务器上测试数据库访问,查询授权等是否有效。
Java代码
- [root@localhost ~]#mysqldump -u root -p123456 -h 192.168.10.22 --databases xxxx > ceshi.sql
-
- [root@localhost ~]#ls -lh ceshi.sql
下面是一个mysql的备份脚本,根据自己的需求修改即可。
Java代码
- [root@localhost ~]#mkdir -p /opt/mysql_bak/
- [root@localhost ~]#cd /opt/mysql_bak/
- [root@localhost mysql_bak]# vim mysql_bak.sh
- #!/bin/bash
- #auto backup mysqldb
- #by authors kanghui 2016-06-12
- #这是一个简单化到MYSQL数据库逻辑备份脚本
- #1.定义数据库链接,目标库信息
- MY_user="root"
- MY_pass="123456"
- MY_host="192.168.10.22"
- MY_conn="-u $MY_user -p$MY_pass -h $MY_host"
- MY_db1="xxxx"
- MY_db2="yyyy"
- #2.定义备份目录,工具,时间,文件名
- BF_dir="/opt/mysql_bak"
- BF_cmd="/usr/bin/mysqldump"
- BF_time="date +%Y%m%d-%H%M"
- name_1="$MY_db1-$BF_time"
- name_2="$MY_db2-$Bf_time"
- #3先导出为.sql脚本,然后再进行压缩(打包后删除源文件)
- cd $BF_dir
- $BF_cmd $MY_conn --databases $MY_db1 > $name_1.sql
- $BF_cmd $MY_conn --databases $MY_db2 > $name_2.sql
- /bin/tar zcf $name_1.tar.gz $name_1.sql --remove &> /dev/null
- /bin/tar zcf $name_2.tar.gz $name_2.sql --remove &> /dev/null
设置权限并测试:
Java代码
- [root@localhost mysql_bak]#chmod +x mysql_bak.sh
-
- [root@localhost mysql_bak]#./mysql_bak.sh
-
- [root@localhost mysql_bak]#ls -lh /opt/mysql_bak/*.gz
最后把脚本加入带计划任务即可。
Java代码
- [root@localhost ~]#crontab -e
- 30 2 * * * /opt/mysql_bak/mysql_bak.sh
Mysql 自动备份脚本
标签: