MySQLdump是mysql用来逻辑备份的工具。在数据库的备份的过程中,需要备份的包括,数据库本身的数据,二进制文件(用来进行数据库的即使点还原)。
下面简单的介绍下。
备份开始:
①:在登陆mysql的过程中,会需要输入密码,如果想要避免每次输入密码的繁琐,可以在登陆用户的家目录下建立 .my.cnf的隐藏文件,以root用户为例
vi /root/.my.cnf
[client]
user=’root’
password=’exit’
host=’localhost’
等到再次登陆的时候,直接可以mysql登陆进入系统。
②备份数据库
mysql 连接数据库
show master status; //查看当前用的是那个二进制日志文件。
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;
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的逻辑还原先说这些。以后继续。