Mysql

禁用 MySQL 複製

  • December 28, 2021

我正在執行以下內容:

# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 6.6 (Santiago)
# uname -a
Linux X 2.6.32-504.3.3.el6.x86_64 #1 SMP Fri Dec 12 16:05:43 EST 2014 x86_64 x86_64 x86_64 GNU/Linux
# rpm -q mysql-server
mysql-server-5.1.73-3.el6_5.x86_64
# 

我發布STOP SLAVE;並刪除master.info了,現在/var/log/mysqld-error.log正在生成以下內容:

[ERROR] Error reading master configuration
[ERROR] Failed to initialize the master info structure

禁用 MySQL 複製的正確方法是什麼?

執行後RESET SLAVE;確保沒有從屬狀態。

執行這個

SHOW SLAVE STATUS\G

如果仍有任何資訊出現,您需要執行此

CHANGE MASTER TO master_host = '';

那就跑吧

SHOW SLAVE STATUS\G

你應該什麼都得不到,master.info應該離開。

來自MySQL 5.1 文件

如果任何用於設置連接參數的啟動選項(例如主控主機、主控埠、主控使用者和主控密碼)正在使用,則儲存在 master.info 文件中的任何相應連接資訊都會立即使用為這些選項指定的值重置. 未指定值的選項將被清除。但是,由於這些選項在 MySQL 5.1 中已棄用並從 MySQL 5.5 中完全刪除,因此鼓勵您使用 CHANGE MASTER TO 語句來重置連接參數。(如果您不使用啟動選項,如果您不想清除連接設置,則必須在這種情況下發出 CHANGE MASTER TO。)

來自MySQL 5.6 文件

如果從屬 mysqld 在 RESET SLAVE 之後關閉,則連接參數會被重置。在 MySQL 5.6.3 及更高版本中,您可以改為使用 RESET SLAVE ALL 來重置這些連接參數(錯誤 #11809016)。

基於此

  • MySQL 5.5 使用者注意:需要重啟 MySQL 才能清除從屬狀態
  • MySQL 5.6 使用者注意:使用者RESET SLAVE ALL;而不是 RESET SLAVE;

引用自:https://dba.stackexchange.com/questions/91706