MySQL主從數(shù)據(jù)庫的搭建涉及多個(gè)步驟,以下是詳細(xì)的步驟指南:
my.cnf
或my.ini
),在[mysqld]
部分添加以下行以啟用二進(jìn)制日志功能:log-bin=mysql-bin
。這將記錄所有更改主數(shù)據(jù)庫的SQL語句。CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; FLUSH PRIVILEGES;
。其中,repl
是用戶名,password
是密碼。SHOW MASTER STATUS;
,該命令將返回當(dāng)前二進(jìn)制日志的文件名和位置(即坐標(biāo))。記下這些信息,稍后在從服務(wù)器上使用。[mysqld]
部分添加以下行以指定主服務(wù)器的地址和端口:server-id=1
(確保此值唯一,用于標(biāo)識(shí)從服務(wù)器)、relay-log=mysql-relay-bin
(指定中繼日志文件的路徑)。START SLAVE;
以啟動(dòng)復(fù)制進(jìn)程。SHOW MASTER STATUS;
的結(jié)果中,復(fù)制進(jìn)程會(huì)嘗試連接到主服務(wù)器。記下Master_Log_File
和Read_Master_Log_Pos
的值。Master_Log_File
和Read_Master_Log_Pos
值,在從服務(wù)器上執(zhí)行命令CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='repl', MASTER_PASSWORD='password', MASTER_LOG_FILE='recorded_file_name', MASTER_LOG_POS=recorded_position;
。其中,master_ip
是主服務(wù)器的IP地址,recorded_file_name
和recorded_position
分別是之前記下的二進(jìn)制日志文件名和位置。完成以上步驟后,MySQL主從數(shù)據(jù)庫的搭建就基本完成了。請(qǐng)注意,在實(shí)際操作中可能需要根據(jù)具體情況進(jìn)行調(diào)整和優(yōu)化。