mysql主從復(fù)制怎樣設(shè)置

小樊
82
2024-09-27 16:10:43
欄目: 云計(jì)算

MySQL主從復(fù)制的設(shè)置步驟如下:

  1. 配置主服務(wù)器
  • 打開MySQL配置文件my.cnf(在Linux系統(tǒng)中通常位于/etc/mysql/目錄下)。
  • [mysqld]部分添加以下配置項(xiàng),以啟用二進(jìn)制日志功能(Binary Log):log-bin=mysql-bin。
  • 確保bind-address參數(shù)設(shè)置為0.0.0.0或主服務(wù)器的IP地址,以允許遠(yuǎn)程連接。
  • 保存并關(guān)閉配置文件。
  • 重啟MySQL服務(wù)以使更改生效。
  1. 創(chuàng)建用于復(fù)制的用戶
  • 登錄到主服務(wù)器上的MySQL命令行。
  • 創(chuàng)建一個(gè)具有復(fù)制權(quán)限的專用用戶。例如:CREATE USER 'repl'@'%' IDENTIFIED BY 'password';(其中password是密碼)。
  • 授權(quán)該用戶從任何主機(jī)進(jìn)行復(fù)制:GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';。
  • 刷新權(quán)限:FLUSH PRIVILEGES;。
  1. 獲取主服務(wù)器的二進(jìn)制日志坐標(biāo)
  • 在主服務(wù)器上執(zhí)行以下命令,以獲取當(dāng)前二進(jìn)制日志的文件名和位置(即坐標(biāo)):SHOW MASTER STATUS;
  • 記錄下返回的FilePosition值,稍后將用于從服務(wù)器的復(fù)制設(shè)置。
  1. 配置從服務(wù)器
  • 打開從服務(wù)器的MySQL配置文件my.cnf(路徑與主服務(wù)器相同)。
  • [mysqld]部分添加以下配置項(xiàng):
    • server-id:設(shè)置一個(gè)唯一的從服務(wù)器ID,例如100。
    • relay-log:指定中繼日志文件的路徑,例如/var/log/mysql/mysql-relay-bin。
    • log-slave-updates:?jiǎn)⒂脧姆?wù)器的中繼日志功能,以便將更新記錄到其中。
    • read-only:將MySQL服務(wù)設(shè)置為只讀模式,以防止從服務(wù)器上的寫操作干擾主服務(wù)器的數(shù)據(jù)一致性。
  • 保存并關(guān)閉配置文件。
  • 重啟MySQL服務(wù)以使更改生效。
  1. 設(shè)置從服務(wù)器連接到主服務(wù)器
  • 在從服務(wù)器上登錄到MySQL命令行。
  • 使用之前創(chuàng)建的復(fù)制用戶連接到主服務(wù)器:mysql -h 主服務(wù)器IP -u repl -p
  • 輸入密碼后,進(jìn)入MySQL命令行界面。
  • 運(yùn)行以下命令,以啟動(dòng)從服務(wù)器的復(fù)制進(jìn)程:START SLAVE;
  • 檢查復(fù)制狀態(tài),確保一切正常:SHOW SLAVE STATUS\G;。如果返回的狀態(tài)信息中Slave_IO_RunningSlave_SQL_Running均為Yes,則表示復(fù)制正在正常運(yùn)行。

至此,MySQL主從復(fù)制設(shè)置已完成。請(qǐng)注意,這些步驟可能因操作系統(tǒng)、MySQL版本或具體需求而略有不同。建議參考相關(guān)的MySQL官方文檔或咨詢專業(yè)人士以獲取更詳細(xì)的指導(dǎo)。

0