我们知道数据的重要性,但我们也要知道,数据的备份和恢复也是同样重要的,比如买了新手机,我们需要把旧手机上的某些重要的数据同步到新的手机中。在这个过程中,需要在旧手机上进行备份,在到新手机上进行恢复,然后,我们就可以及时的使用,不然新手机没有老手机上的重要数据,总会觉得少了点东西;
Mysql中提供了几种数据备份和恢复的方法,我写一下常用的几个;
1. mysqldump命令;
2. Percona Xtrabackup工具;
首先,需要明确几个定义:
完全备份:从开始到执行备份这一时刻的全部数据;
增量备份:从上一次完全备份或上一次增量备份以来的变化的数据;
差异备份:备份从上一次完全备份以来变化的数据;
热备份:可读可写状态下所做的操作;
温备份:可读不可写状态下所做的操作;
冷备份:不可读不可写,服务离线所做的备份操作;
物理备份:复制数据文件进行数据备份;
逻辑备份:备份sql语句,而并非数据;
Mysqldump工具是一个非常有效的也是常用的一个备份工具,其内容可以帮助innodb事务引擎实现温备份。也可以帮助组MYISAM非事务型存储引擎更快的进行备份工具;
常用选项:
--all-databases, -A:备份所有的数据库(完全备份);
--databases, -B:指定需要备份的数据库;
--flush-logs, -F:手动刷写二进制日志;
--quick, -q:快速导出数据,导出大表时很有用;
--lock-all-tables, -x:为所有的表施加读锁,直至数据导出结束;
--single-transaction:导出innodb存储引擎的表时,开启一个事务保证数据库的一致性和持久性;
[root@localhost ~]# mysqldump --lock-tables --flush-logs --all-databases -q > ./alldb.sql
在对数据库进行恢复时,建议临时关闭二进制
MariaDB [(none)]> set @@sql_log_bin=0; MariaDB [(none)]> \. /alldb.sql MariaDB [(none)]> set @@sql_log_bin=1;
OR
[root@www ~]# mysql -uroot -p < /alldata.sql Enter password:
转载于:https://blog.51cto.com/liujingyu/2313131