用mysqldump + crontabs实现自动备份。
一、备份命令
首先,看下备份时需要输入什么。
以mysql数据库为例 (一个空格都不要错),输入:
1 | mysqldump -uroot -p mysql > /root/mysql.`date +%Y-%m-%d`.dump |
解释下上面命令的各项分解:
mysqldump :上述生成的mysqldump链接文件,mysql自带工具
-uroot:-u + 数据库用户名
-proot:-p + 数据库密码
mysql:需要导出的数据库名,个人比较喜欢分别导出,一次性导出恢复比较麻烦
date +%Y-%m-%d :日期
/root:生成sql文件位置
二、编写脚本
我们把上面的命令行写成一个脚本,那每次执行脚本就相当于执行命令了。
此处我在 opt 目录下创建一个 backup.sh 脚本
vi /opt/backup.sh
本地备份,简单点直接导出sql就行了。
将要执行的命令保存好,多个数据库的导出用多个命令,必须用 ; 分号结尾,不然生成文件出错
mysqldump -uroot -proot test | gzip > /opt/test.sql.gz;
mysqldump -uroot -proot test2 | gzip > /opt/test2.sql.gz;
保存好后可以执行下试试,若存在权限问题,则设置下权限
chmod -R 777 backup.sh
三、自动执行备份脚本
首先安装crontabs,启动
yum install crontabs;
service crond start;
然后设置需要执行的任务
crontab -e
例如每天凌晨3点执行备份命令,保存以下命令
0 3 * * * /opt/backup.sh
完成!
参考文档:
- 本文作者: Baili
- 本文链接: https://baili90.github.io/2022/01/18/2022-01-18-如何实现Mysql的自动备份/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!
