RESET MASTER和RESET SLAVE使用场景和说明,以及清除主从同步关系
2017-09-20 21:43
483 查看
mysql主从复制中,需要将从库提升为主库,需要取消其从库角色,这可通过执行RESET SLAVE ALL清除从库的同步复制信息、包括连接信息和二进制文件名、位置。从库上执行这个命令后,使用show slave status将不会有输出。
原文链接
RESET SLAVE vs. RESET SLAVE ALL: Disconnecting a replication slave is easier with MySQL 5.5+
参考链接:http://www.tuicool.com/articles/ZJnUn2
mysql> stop slave;
QueryOK, 0 rowsaffected (0,00 sec)
mysql> reset slave all;
QueryOK, 0 rowsaffected (0,04 sec)
mysql> show slave status\G
Emptyset (0,00 sec)
此时真正实现了清除slave同步复制关系!
--------------------------------------------------------------------------------
【一】RESET MASTER参数
功能说明:删除所有的binglog日志文件,并将日志索引文件清空,重新开始所有新的日志文件。用于第一次进行搭建主从库时,进行主库binlog初始化工作;
测试如下:
未删除前
[root@mysql01 mysql]# pwd
/data/mysql
[root@mysql01 mysql]# ls
mysql> show master status\G;
*************************** 1. row ***************************
File: mysql-bin.000025
Position: 107
Binlog_Do_DB:
Binlog_Ignore_DB:
1 row in set (0.01 sec)
当前有25个binlong日志,且Position的位置为107
运行RESET MASTER
mysql> reset master;
Query OK, 0 rows affected (0.03 sec)
mysql> show master status\G;
*************************** 1. row ***************************
File: mysql-bin.000001
Position: 107
Binlog_Do_DB:
Binlog_Ignore_DB:
1 row in set (0.00 sec)
显示所有的binlog已经被删除掉,且binlog从000001 开始记录
注:当数据库要清理binlog文件的时候,可以通过操作系统进行删除,也可以运行reset master进行删除。但是如果当前是主数据库,且主从数据库正常的时候,千万不能用这种方式删除。
【使用场景】第一次搭建主从数据库时,用于主库的初始化binglog操作;
【二】RESET SLAVE
功能说明:用于删除SLAVE数据库的relaylog日志文件,并重新启用新的relaylog文件;
登录从数据库,未删除前
mysql> show slave status\G;
*************************** 1. row ***************************
Slave_IO_State: Connecting to master
Master_Host: 192.168.47.167
Master_User: server
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000019
Read_Master_Log_Pos: 12992
Relay_Log_File: mysql02-relay-bin.000004
Relay_Log_Pos: 4
Relay_Master_Log_File: mysql-bin.000019
当前relaylog为0004;
删除后
mysql> stop slave; 先停止slave
Query OK, 0 rows affected (0.01 sec)
mysql> reset slave;
Query OK, 0 rows affected (0.04 sec)
mysql> show slave status\G;
*************************** 1. row ***************************
Slave_IO_State:
Master_Host: 192.168.47.167
Master_User: server
Master_Port: 3306
Connect_Retry: 60
Master_Log_File:
Read_Master_Log_Pos: 4
Relay_Log_File: mysql02-relay-bin.000001
Relay_Log_Pos: 4
RESET SLAVE将使SLAVE忘记主从复制关系的位置信息。该语句将被用于干净的启动, 它删除master.info文件和relay-log.info 文件以及所有的relay log 文件并重新启用一个新的relaylog文件。
使用场景:当原来的主从关系被破坏之后,从库经过重新初始化后直接连接会报 ERROR 1201的错误,运行reset slave后,重新配置主从连接就可以了;
mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.167',MASTER_USER='test',MASTER_PASSWORD='test', MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=176658;
ERROR 1201 (HY000): Could not initialize master info structure; more error messages can be found in the MySQL error log
总结:如果是需要删除mysql binlog和relaylog文件的时候,那么通过操作系统的删除或者PURGE命令都可以,但是涉及到mysql主从配置的时候便需要使用RESET MASTER和RESET SLAVE解决问题
原文链接
RESET SLAVE vs. RESET SLAVE ALL: Disconnecting a replication slave is easier with MySQL 5.5+
参考链接:http://www.tuicool.com/articles/ZJnUn2
mysql> stop slave;
QueryOK, 0 rowsaffected (0,00 sec)
mysql> reset slave all;
QueryOK, 0 rowsaffected (0,04 sec)
mysql> show slave status\G
Emptyset (0,00 sec)
此时真正实现了清除slave同步复制关系!
--------------------------------------------------------------------------------
【一】RESET MASTER参数
功能说明:删除所有的binglog日志文件,并将日志索引文件清空,重新开始所有新的日志文件。用于第一次进行搭建主从库时,进行主库binlog初始化工作;
测试如下:
未删除前
[root@mysql01 mysql]# pwd
/data/mysql
[root@mysql01 mysql]# ls
mysql> show master status\G;
*************************** 1. row ***************************
File: mysql-bin.000025
Position: 107
Binlog_Do_DB:
Binlog_Ignore_DB:
1 row in set (0.01 sec)
当前有25个binlong日志,且Position的位置为107
运行RESET MASTER
mysql> reset master;
Query OK, 0 rows affected (0.03 sec)
mysql> show master status\G;
*************************** 1. row ***************************
File: mysql-bin.000001
Position: 107
Binlog_Do_DB:
Binlog_Ignore_DB:
1 row in set (0.00 sec)
显示所有的binlog已经被删除掉,且binlog从000001 开始记录
注:当数据库要清理binlog文件的时候,可以通过操作系统进行删除,也可以运行reset master进行删除。但是如果当前是主数据库,且主从数据库正常的时候,千万不能用这种方式删除。
【使用场景】第一次搭建主从数据库时,用于主库的初始化binglog操作;
【二】RESET SLAVE
功能说明:用于删除SLAVE数据库的relaylog日志文件,并重新启用新的relaylog文件;
登录从数据库,未删除前
mysql> show slave status\G;
*************************** 1. row ***************************
Slave_IO_State: Connecting to master
Master_Host: 192.168.47.167
Master_User: server
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000019
Read_Master_Log_Pos: 12992
Relay_Log_File: mysql02-relay-bin.000004
Relay_Log_Pos: 4
Relay_Master_Log_File: mysql-bin.000019
当前relaylog为0004;
删除后
mysql> stop slave; 先停止slave
Query OK, 0 rows affected (0.01 sec)
mysql> reset slave;
Query OK, 0 rows affected (0.04 sec)
mysql> show slave status\G;
*************************** 1. row ***************************
Slave_IO_State:
Master_Host: 192.168.47.167
Master_User: server
Master_Port: 3306
Connect_Retry: 60
Master_Log_File:
Read_Master_Log_Pos: 4
Relay_Log_File: mysql02-relay-bin.000001
Relay_Log_Pos: 4
RESET SLAVE将使SLAVE忘记主从复制关系的位置信息。该语句将被用于干净的启动, 它删除master.info文件和relay-log.info 文件以及所有的relay log 文件并重新启用一个新的relaylog文件。
使用场景:当原来的主从关系被破坏之后,从库经过重新初始化后直接连接会报 ERROR 1201的错误,运行reset slave后,重新配置主从连接就可以了;
mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.167',MASTER_USER='test',MASTER_PASSWORD='test', MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=176658;
ERROR 1201 (HY000): Could not initialize master info structure; more error messages can be found in the MySQL error log
总结:如果是需要删除mysql binlog和relaylog文件的时候,那么通过操作系统的删除或者PURGE命令都可以,但是涉及到mysql主从配置的时候便需要使用RESET MASTER和RESET SLAVE解决问题
相关文章推荐
- RESET MASTER和RESET SLAVE使用场景和说明,以及清除主从同步关系
- 通过例子学设计模式之--组合模式以及使用场景说明(C++实现)
- RESET MASTER和RESET SLAVE使用场景和说明【转】
- 通过例子学设计模式之--简单工厂模式以及使用场景说明(C++实现)
- log4j框架logger的继承关系以及使用场景
- 通过例子学设计模式之--建造者模式以及使用场景说明(C++实现)
- 通过例子学设计模式之--工厂方法模式以及使用场景说明(C++实现)
- Unity(六) 使用XML/JSON/Binary数据文件封装场景以及StreamingAssets目录的安卓平台同步
- 通过例子学设计模式之--原型模式以及使用场景说明(C++实现)
- log4j框架logger的继承关系以及使用场景
- 通过例子学设计模式之--外观模式以及使用场景说明(C++实现)
- log4j框架logger的继承关系以及使用场景
- 通过例子学设计模式之--桥接模式以及使用场景说明(C++实现)
- Activiti 5.0.alpha2使用的数据表以及关系的说明
- 同步和异步有何异同,什么场景使用,举例说明!
- 通过例子学设计模式之--适配器模式以及使用场景说明(C++实现)
- 线程的同步异步,以及具体代码实现,使用场景
- RESET MASTER和RESET SLAVE使用场景和说明
- MATLAB的使用(四)运算符、关系与逻辑函数说明以及预定义变量名说明
- log4j框架logger的继承关系以及使用场景