文章目录
- 1.备份脚本示例
- 2.设置 Cron 任务
- 3. 数据恢复
本文档只是为了留档方便以后工作运维,或者给同事分享文档内容比较简陋命令也不是特别全,不适合小白观看,如有不懂可以私信,上班期间都是在得
需求,在离线情况下实现数据备份到另一台服务器,且不知道数据库密码,要求,后续拿到备份数据可以恢复。.
1.备份脚本示例
#!/bin/bash
tar -czf /home/mysql/backup/$(date +%Y-%m-%d).tar.gz -C /home/docker/mysql/data xhao
# -czf:创建一个 gzip 压缩的 tar 文件。
# /home/mysql/backup/$(date +%Y-%m-%d).tar.gz 要备份文件得地址和名字
# -C /home/docker/mysql/data 切换到该目录。
# xhao:打包该目录
2.设置 Cron 任务
# 打开 crontab 编辑器
crontab -e
# 添加定时任务
0 1 * * * /home/mysql/backup.sh
# 0 1 * * * cron表达式
# /home/mysql/backup.sh 脚本地址
# 查看定时任务
crontab -l
效果图
3. 数据恢复
# 1.导入备份得数据库表结构
# 2.清空表空间
ALTER TABLE 数据库名.表名 DISCARD TABLESPACE
列如:ALTER TABLE xhao.hao DISCARD TABLESPACE
# 3.吧备份得idb文件拷贝到数据库目录下
找不到数据库文件存储地址得,执行以下命令
show variables like '%datadir%';
# 4.加载表空间
ALTER TABLE 数据库名.表名 IMPORT TABLESPACE;
列如:ALTER TABLE xhao.hao IMPORT TABLESPACE
如果点赞多,评论多会更新详细教程,待补充。