mysql完全备份与恢复
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql完全备份与恢复相关的知识,希望对你有一定的参考价值。
备份的重要性:
- 在生产环境中我们数据库可能会遭遇各种各样的不测从而导致数据丢失, 大概分为以下几种.
- 硬件故障
- 软件故障
- 自然灾害
- ××××××
- 误操作 (占比最大)
备份类型:
物理和逻辑角度:
物理备份---指对数据库操作系统的物理文件的备份
逻辑备份---指对数据库逻辑组件的备份
备份策略角度:
完全备份---备份整个数据集
差异备份---上次完全备份之后修改过的文件
增量备份---备份自上一次备份以来(增量或完全)以来变化的数据
物理备份演练
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-08-30.tar.xz /usr/local/mysql/data/
逻辑备份演练
准备工作如下:
(一)首先补充一个数据库的免登录操作,之后的演示都将以此方式进行展示;
mysql -uroot -pabc123 -e ‘show databases;‘ #单条信息输入
mysql -uroot -pabc123 -e ‘show databases;use school;show tables;‘ #多条信息输入,注意顺序
(二)以下是做备份、还原前所创建的school数据库,接下来的操作都针对school数据库展开
一、对数据库进行完全备份
方法1:只会创建、记录其中的表,恢复时需提前创建数据
备份: mysqldump -uroot -pabc123 school > /opt/school.sql
恢复:mysql -uroot -pabc123 school < /opt/school.sql
方法2:加入--databases 恢复时无需建库
备份: mysqldump -uroot -pabc123 --databases school > /opt/school.sql
恢复: mysql -uroot -pabc123 < /opt/school1.sql
方法3:source语句 ---必须在mysql环境中执行
备份:mysqldump -uroot -pabc123 --databases school > /opt/school.sql
恢复:mysql>source /opt/school.sql
二、对数据库中的表进行完全备份
备份---mysqldump -uroot -pabc123 school info > /opt/info.sql
恢复---mysql -uroot -pabc123 school < /opt/sinfo.sql
三、对表结构进行完全备份
mysqldump -uroot -pabc123 -d school info > /opt/school.sql #增加-d参数
四、对所有库进行完全备份
mysqldump -uroot -pabc123 --all-databases > /opt/databases.sql
以上是关于mysql完全备份与恢复的主要内容,如果未能解决你的问题,请参考以下文章