mysqldump实现数据库逻辑备份

mysqldump是mysql用来逻辑备份的工具。在数据库的备份的过程中,需要备份的包括,数据库本身的数据,二进制文件(用来进行数据库的即使点还原)。

下面简单的介绍下。

备份开始:

①:在登陆mysql的过程中,会需要输入密码,如果想要避免每次输入密码的繁琐,可以在登陆用户的家目录下建立 .my.cnf的隐藏文件,以root用户为例

vi /root/.my.cnf

[client]

user=’root’

password=’exit’

host=’localhost’

等到再次登陆的时候,直接可以mysql登陆进入系统。

②备份数据库

mysql 连接数据库

show master status; //查看当前用的是那个二进制日志文件。

mysqldump实现数据库逻辑备份

mysqldump –all-databases –lock-all-tables –flush-logs–master-data=2 >/root`date +%F-%H-%M-%S`.sql

现在已经把数据库进行了备份,下面进行二进制日志文件的备份,在备份或数据之后二进制日志文件进行了刷新,说以新的二进制日志文件产生,文件名称为上一个二进制文件的序列号加一。

先将刷新之前的二进制日志文件进行备份

mysqlbinlog /data/mydata/mysql-bin.000005 >/root/1.sql

mysql连接数据库进行增量操作

use stu;

insert into score (name,score) values(‘xiaozhang’,96);

select * from score;

mysqldump实现数据库逻辑备份

quit

一天过去之后进行增量备份

mysqlbinlog /data/mydata/mysql-bin.000006>/root/2.sql

③模拟数据库损害。

cd /data/mydata

rm –rf *

killall mysqld //强制关闭掉mysql的所有的进程。

重新进行数据库的初始化

cd /usr/local/mysql

scripts/mysql_install-db  --user=mysql –datadir=/data/mydata

在数据库的还原之前连接到mysql,把二进制的日志文件功能关闭掉。

mysql

set sql_log_bin=0 //二进制的日志功能在数据库还原的过程中不需要打开。

quit

mysql </root/`date +%F-%H-%M-%S`.sql  //刚刚备份的数据库。

mysql </root/1.sql  //导入二进制的日志文件

mysql </root/2.sql  //导入二进制的增量备份文件

还原完毕,连接mysql打开二进制的日志功能。

mysql

set sql_log_bin=1

purge binary logs to ‘mysql-bin.000006’;  //删除不用了的二进制日志文件。

好了,mysqldump的逻辑还原先说这些。以后继续。

猜你喜欢

转载自www.linuxidc.com/Linux/2015-08/121551.htm