Mysql

設置 MySQL 數據庫複製withoutrestarting我_sq_l在一世噸H這在噸r和s噸一種r噸一世nG米是sqlwithout restarting mysql

  • October 26, 2012

我正在嘗試設置 MySQL 數據庫複製,看起來很簡單。

我正在使用本教程: http: //www.howtoforge.com/mysql_database_replication

現在我為一個非常大的網站執行一個相當大的 MySQL 數據庫,在本教程中它要求我重新啟動 MySQL 以應用 /etc/my.cnf 文件中的新設置。

我會不惜一切代價避免這一步,因為我知道在我的機器上重新啟動 MySQL 可能需要幾分鐘(由於日誌/數據庫很大),而且我不希望有任何停機時間。

有沒有辦法在不完全重啟 Mysql 的情況下應用必要的設置?

my.cnf可以從 MySQL 中應用許多設置SET GLOBAL。例如:

mysql> SET GLOBAL log_slow_queries = On;

但有些在 MySQL 中是只讀的;log-bin就是其中之一。

mysql> set global log_bin = foo;
ERROR 1238 (HY000): Variable 'log_bin' is a read only variable

您需要將新數據庫添加到現有數據庫或合併兩個現有數據庫伺服器?如果您需要添加新的,請通過命令“show master status”檢查您的伺服器是否在生產伺服器上收集 binlog。您將需要在新伺服器上設置伺服器 ID(它不能為 1,因為 1 是預設伺服器 ID,並且它在您的“舊”伺服器上使用)。還要檢查您的“舊”伺服器是否在真實介面上偵聽。如果“舊”伺服器僅使用 127.0.0.1,則需要重新啟動它,因為不重新啟動就無法更改正在執行的伺服器上的偵聽和 ID 參數。所有其他複製參數都可以通過“set global”命令更改,但我強烈建議在 my.cnf 中設置它以避免舊伺服器重新啟動時出現問題。

引用自:https://serverfault.com/questions/442608