【前言】在配置主從的時候經常會用到這兩個語句,剛開始的時候還不清楚這兩個語句的使用特性和使用場景。
經過測試整理了以下文檔,希望能對大家有所幫助;
?
【一】RESET MASTER參數
功能說明:刪除所有的binglog日志文件,并將日志索引文件清空,重新開始所有新的日志文件。用于第一次進行搭建主從庫時,進行主庫binlog初始化工作;
?
測試如下:
未刪除前 [root@mysql01 mysql]# pwd [root@mysql01 mysql]# ls mysql> show master status\G; 當前有25個binlong日志,且Position的位置為107 |
?
運行RESET MASTER
mysql> reset master; mysql> show master status\G; ? ? 顯示所有的binlog已經被刪除掉,且binlog從000001 開始記錄 |
?
注:當數據庫要清理binlog文件的時候,可以通過操作系統進行刪除,也可以運行reset master進行刪除。但是如果當前是主數據庫,且主從數據庫正常的時候,千萬不能用這種方式刪除。
【使用場景】第一次搭建主從數據庫時,用于主庫的初始化binglog操作;
【二】RESET SLAVE
功能說明:用于刪除SLAVE數據庫的relaylog日志文件,并重新啟用新的relaylog文件;
登錄從數據庫,未刪除前 mysql> show slave status\G; 當前relaylog為0004; |
?
刪除后 mysql> stop slave;??????????????? 先停止slave mysql> reset slave;??????????????? ? mysql> show slave status\G; ?
|
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使用場景和說明-wzq609-ITPUB博客
http://blog.itpub.net/12679300/viewspace-1701285/
MySQL主從配置中RESET SLAVE和RESET MASTER的區別詳解 http://www.jquerycn.cn/a_23929