在mysql主从复制中,必须清除主从复制关系,并且必须取消库中的角色。 这样,可以运行RESET SLAVE ALL,清除库中的同步复制信息、连接信息、二进制文件名和位置。 从库中运行此命令后,即使使用show slave status也没有输出。
reset slave是每个版本的Mysql中的功能,在stop slave之后使用。 主要进行:
删除master.info和relay-log.info文件;
删除所有relay log (包括尚未应用的日志)并创建新的relay log文件;
从Mysql 5.5开始,all参数增加了一个。 如果未指定all参数,则所有连接信息(包括主库地址、端口、用户和密码)都将保留在内存中。 这样,可以直接运行start slave命令,而无需重新输入change master to命令。 另外,运行show slave status也可以获得与未运行reset slave时相同的正常输出。 但是,添加all参数也会清除这些内存中的数据,并在运行show slave status时将其输出为空。
mysqlstop slave;
查询确定,0 rows affected (0,00 sec ) ) )。
MySQL重置从属全部;
查询确定,0行安全(0,04 sec ) ) )。
mysql show slave statusG
性能集(0,00 sec ) ) ) ) ) )。
此时,已清除了slave同步复制关系。
------------- -请参阅
【一】重置主程序
功能说明:删除所有wxdqqglog日志文件,清空登录索引文件,然后重新开始所有新的日志文件。 第一次构建主从库时,用于进行主库wxdqqlog的初始化工作;
测试如下。
未删除之前
[root@mysql01 mysql]# pwd
/usr/local/data/mysql
[root@mysql01 mysql]# ls
auto.CNF client-cert.PE MIB data1 ibt MP1localhost.local domain.PID MySQL-wxdqq.000002 MySQL-wxdqq.000005 mysqld _ sqq
ca-key.PEM client-key.PE MIB _ log file0imove mysqlmysql-wxdqq.000003 MySQL-wxdqq.00006性能_ schemaserver
ca.PE MIB _ buffer _ poo lib _ log file1localhost.local domain.errmysql-wxdqq.00001 MySQL-wxdqq.00004 MySQL-wx dqq
[ root @ localhostwxdqq ] #./MySQL-uroot-p 123456
mysql show master status;
------------- -请参阅
位置binlog _ do _ db binlog _ ignore _ db executed _ gtid _ set
------------- -请参阅
|MySQL-wxdqq.000006|16663694|||
------------- -请参阅
1原始插入(0.00 sec )。
mysql
目前有6个wxdqqlong日志,位置为16663694
运行重置主程序
MySQL重置主程序;
查询确定,0Rowsaffected(0.03sec ) )。
mysql show master statusG;
* * * * * * * * * * * * * *1. row * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *。
File: mysql-wxdqq.000001
Position: 107
Binlog_Do_DB:
Binlog_Ignore_DB:
1原始插入(0.00 sec )。
表示所有wxdqqlog都已删除,并且已从000001开始记录wxdqlog
注:当数据库清理wxdqqlog文件时,可以将其从操作系统中删除,也可以运行reset master将其删除。 但是,如果当前是主数据库,且主从数据库正常,请不要用这种方法删除。
【使用场景】首次构建主从数据库时,用于主库的初始化wxdqqglog操作。
【二】重置平板电脑
功能说明:删除从属数据库的relaylog日志文件,重新启用新的relaylog文件;
测试如下。
在未从数据库登录并删除之前
mysql show slave statusG;
* * * * * * * * * * * * * * *1(.row * * * * * * * * * * * * * * * * * * * * * * * * * )
slave _ io _ state 3360连接tomaster
Master_Host: 192.168.47.167
master_user3360服务器
Master_Port: 3306
Connect_Retry: 60
master _ log _ file : MySQL-wxdqq.000019
Read_Master_Log_Pos: 12992
relay _ log _ file : MySQL 02-relay-wxdqq.000004
Relay_Log_Pos: 4
relay _ master _ log _ file : MySQL-wxdqq.000019
当前的relaylog为0004;
首先停止slave,运行RESET MASTER
mysql stop slave;
查询确定,0Rowsaffected(0.01sec ) )。
MySQL重置从属程序;
查询确定,0Rowsaffected(0.04sec ) )。
mysql show slave statusG;
* * * * * * * * * * * * * * *1(.row * * * * * * * * * * * * * * * * * * * * * * * * * )
Slave_IO_State:
Master_Host: 192.168.47.167
master_user3360服务器
Master_Port: 3306
Connect_Retry: 60
Master_Log_File:
Read_Master_Log_Pos: 4
* relay _ log _ file : MySQL 02-relay-wxdqq.000001
Relay_Log_Pos: 4**
RESET SLAVE会忘记主从复制关系的位置信息。 此语句用于清洁启动,删除master.info和relay-log.info文件以及所有relay log文件,然后重新启用新的relay log文件。
使用场景:原始主从关系破坏后,从库中经过重新初始化直接连接即可报告错误1201错误,执行reset slave后重新配置主从连接即可;