备份:
mysqldump -uroot -p -S /tmp/mysql3306.sock --single-transaction --add-drop-database --master-data=1 --database tms,test >test_backup.sql
--single-transaction : 一致性备份,在备份开始前, 先执行START TRANSACTION命令,以此来获得备份的一致性,当前该参数只对INNODB存储引擎有效。当启用该参数并进行备份时, 确保没有其他任何的DDL语句执行,因为一致性读并不能隔离DDL语句。
--add-drop-database: 备份里会有创建删除数据库的命令, 要和-DATABASE一起使用。
--master-data:通过该参数产生的备份转存文件主要用来建立一个SLAVE REPLICATION。 当VALUE的值为1时,转存文件中记录CHANGE MASTER语句,当VALUE的值为2时,CHANGE MASTER语句被写成SQL注释。默认情况下, VALUE的值为空。
停止原从库的SLAVE复制:
mysql> stop slave;
Query OK, 0 rows affected (0.00 sec)
mysql> reset slave all;
Query OK, 0 rows affected (0.08 sec)
mysql> show slave status\G;
Empty set (0.00 sec)
在从库进行SOURCE:
source /apps/test_backup.sql
待恢复完成后,可以根据备份文件里提供的BINLOG POSTION来启动REP:
mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.93',MASTER_PORT=3306,MASTER_USER='replication',MASTER_PASSWORD='replication',MASTER_LOG_FILE='mysql-bin.000005',MASTER_LOG_POS=69295895;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.04 sec)