MySQL如何快速重建主从

MySQL如何快速重建主从,第1张

备份

[sql] view plain copy

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复制:

[sql] view plain copy

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:

[sql] view plain copy

source /apps/test_backup.sql

待恢复完成后,可以根据备份文件里提供的BINLOG POSTION来启动REP:

[sql] view plain copy

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)

MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步;

MySQL主从是基于binlog的,主上须开启binlog才能进行主从。

主从过程大致有3个步骤

1)主将更改 *** 作记录到binlog里;

2)从将主的binlog事件(sql语句)同步到从本机上并记录在relaylog里;

3)从根据relaylog里面的sql语句按顺序执行;

主上有一个log dump线程,用来和从的I/O线程传递binlog

从上有两个线程,其中I/O线程用来同步主的binlog并生成relaylog,另外一个SQL线程用来把relaylog里面的sql语句落地

同步参数“主”“从”上均可设置,只要设置一个就可以了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8507045.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存