Mysql数据库完全备份与恢复
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql数据库完全备份与恢复相关的知识,希望对你有一定的参考价值。
数据库备份的重要性
- 提高系统的高可用性和灾难可恢复性,在数据库系统崩溃时,没有数据备份就没法找到数据。
- 使用数据库备份还原数据库,是数据库崩溃时提供数据恢复最小代价的最优方案。
- 没有数据库就没有一切,数据库备份是一种防范灾难的强力手段。
1.完全物理备份
1.1使用tar打包文件夹备份
数据库压缩时会使用压缩率较大的xz格式压缩。
rpm -q xz //检查xz软件包是否安装
yum -y install xz //安装xz软件包
1.2对数据库文件夹/usr/local/mysql/data/ 压缩打包
tar Jcvf /opt/mysql-$(date +%F).tar.xz /usr/local/mysql/data/
//备份数据库文件夹,并以年月日的形式命名
1.3如果数据库文件损失,可以解压缩备份文件进行恢复
tar Jxvf /opt/mysql-2018-08-01.tar.xz /usr/local/mysql/data/
2.使用mysqldump工具备份
2.1 备份某个数据库
mysqldump -u root -p[密码] [选项] [数据库名] [表名] > /备份路径/备份文件名
//备份库到目录下,-p之后可跟密码,也可不写。不写就在回车之后输入密码验证。 备份文件后缀都为.sql,
2.2创建一个数据库school,对school库的info1、info2表备份
mysqldump -u root -p123123 school info1 info2 > /opt/info.sql
2.3备份多个数据库
mysqldump -u root -p --databases mysql stady > /opt/mysql-stady.sql
2.4备份所有数据库
mysqldump -u root -p --opt --all-databases > /opt//all.sql
2.5备份数据库中的表
mysqldump -u root -p stady info > /opt/stady-info.sql
2.6备份数据库的表结构
mysqldump -u root -p -d stady info > /opt/decribe-info.sql // -d 库名+表名
3.恢复数据库
3.1登录Mysql恢复
drop database school; //先删除损坏的school库
source /opt/school.sql
使用mysql命令恢复
drop database school; //先登录mysql删除损坏的school库
create database school; //再重新创建库
exit; //退出mysql
mysql -u root -p123123 school < /opt/school.sql
3.2恢复表操作
和恢复数据库相同
mysql -u root -p stady < /opt/stady-info.sql
但在恢复数据表时要注意,如果备份文件中只备份了表文件,此时mysql中又没有库时,若直接恢复,会失败,必须先创建库,然后再进行恢复。
以上是关于Mysql数据库完全备份与恢复的主要内容,如果未能解决你的问题,请参考以下文章