本篇介绍MySQL备份还原脚本的使用
目录导航:
部分代码截图:

1. 环境准备
- 脚本需要MySQL运行环境,确保可以运行mysql、mysqldump等相关命令
- CentOS
2. 功能说明
- 可以备份本地实例,也可以备份远程实例到本地,建议本地备份
- 热备份MySQL库表,打包tar文件结构是 “日期-库-表”。
- 可以备份MySQL实例的所有库,也可指定1个或多个库;
- 备份成tar包后,可以全部还原,也可以指定1个或多个库还原。
- 如果只需要还原某张表,可以从tar包中提取该表的sql,手动还原
3. 脚本配置
$ vim mysqlbackup-v1.sh
user=root # 数据库用户名
password=*** # 数据库密码
host=192.168.176.10 # 数据库主机
datadir=/home/mysqldatabackup/data # 备份路径
daynum=7 # 保留近 * 天的备份
4. 命令选项参数
- -t [必选参数]: 操作类型,backup-备份,restore-还原。
- -d [可选参数]: 指定库名,库名之间用逗号隔开。
- -f [必选参数]: 备份tar包所在路径,只有还原操作才有效,即操作类型参数[-t restore]才有效。
5. 使用举例
- 备份和还原都是以测试服务器的MySQL举例:
这是备份脚本及备份好的tar包路径:
5.1 备份数据库
- 比如备份示例服务器的MySQL实例的 test 数据库:
$ ./mysqlbackup-v1.sh -t backup -d test
备份好的tar包 [20230409.tar.gz],这个将在下一步中用来示例还原操作:
5.2 还原数据库
- 还原服务器的MySQL实例的 test 数据库,用上一步骤得到的备份包 /home/mysqldatabackup/data/20230409.tar.gz:
$ ./mysqlbackup-v1.sh -t restore -d test -f /home/mysqldatabackup/data/20230409.tar.gz
执行还原操作,会让你再确认一次,输入y后继续执行:
6. 任务设置
$ crontab -e
0 1 * * * cd /home/mysqldatabackup/script && ./mysqlbackup-v1.sh -t backup -d test >> /home/mysqldatabackup/log/mysqlbackup.log 2>&1 &
7. 说明:
- 1.如果是只需要还原某张表,可以手动提取sql,利用Navicat等工具还原,或者用mysql命令还原。
- 2.目前支持的MySQL的实例的端口是3306.
mysql备份脚本下载:https://download.youkuaiyun.com/download/wangnan229/88180653
不到一瓶水钱,感谢支持~