Mysql 完全备份与恢复 笔记系列
Mysql 备份恢复
使用 tar 打包文件夹备份
1) 安装 xz 压缩格式工具
# yum install -y xz
2) 对数据库文件夹 / usr/local/mysql/data/ 压缩打包
# tar Jcvf /opt/mysql-$(date +%F).tar.xz /usr/local/mysql/data/
3) 如果数据库文件损失, 可以解压缩备份文件进行恢复
# tar Jxvf /opt/mysql-2018-07-01.tar.xz /usr/local/mysql/data/
使用 mysqldump 工具备份
# mysqldump -u root -p[密码] [选项] [数据库名] [表名]> / 备份路径 / 备份文件名
对 school 库的 info1,info2 表备份
# mysqldump -u root -p123456 school info1 info2> /opt/info.sql
单个 school 库备份
# mysqldump -u root -p123456 school> /opt/school.sql
多个库备份 (school 库 test 库)
# mysqldump -u root -p123456 --databases school test> /opt/school_test.sql
对所有库备份
# mysqldump -u root -p123456 --all-databases> /opt/all.sql
直接备份结构表 (school 库里的 info1 和 info2 表)
# mysqldump -u root -p123456 -d school info1 info2> /opt/info.sql
恢复数据库
登录 Mysql 恢复
- > drop database school; // 先删除损坏的 school 库
- > source /opt/school.sql
使用 mysql 命令恢复
- > drop database school; // 先登录 mysql 删除损坏的 school 库
- > create database school; // 再重新创建库
- > exit; // 退出 mysql
- # mysql -u root -p123456 school < /opt/school.sql
恢复表操作
和恢复数据库相同
进入库里删除想要恢复的表 (use 库名; drop table 表名;)
来源: http://www.bubuko.com/infodetail-2668469.html