MySQL主從服務器配置 主服務器(master)配置,主服務器配置很簡單,只需要修改my.cnf配置文件中的兩個地方。 修改my.cnf中的server_id屬性,主服務器配置為1,即server-id=1。 修改my.cnf中的log-bin屬性,例如可以設置為log-bin=/home/china/mysql/mysql-bin 從服務器(slave)配置。 www.2cto.com 修改my.cnf中的server_id屬性,修改為與主服務器不同,如server-id=2 登錄MySQL後,在命令行輸入change master to master_host='master_ip',master_port=3306,master_user='username',master_password='password' ; 使用命令start slave 啟動slave線程。 完成以上配置以後,我們可以在主服務器上查看master狀態,使用命令show master status ; www.2cto.com 同樣,我們也可以在從服務器上查看從服務器的狀態,show slave status ; 完成以上配置以後,我們就完成了MySQL主從服務器的配置,現在我們驗證一下: 我們在主服務器上切換到test庫上,執行SQL,create table userInfo(id int,name varchar(20)); 使用show tables 命令查看,已經建立表userInfo. 這時我們到從服務器上看,表userInfo應該也已經建立起來了。 同時我們想主服務器表userInfo中插入數據的話,從服務器也會自動插入數據的。 如果從服務器並沒有同步主服務器的數據,並且查看從服務器狀態時,發現有一下錯誤信息: “Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file'” 這是由於主從服務器數據不同步造成的,這時可以通過以下幾步來處理: 在從服務器上使用命令stop slave停止從服務器。 在主服務器上使用命令flush logs 刷新主服務器日志信息。 在主服務器上使用命令show master status ;查看主服務器狀態,主要關注日志文件名稱和位置偏移量(position)。 在從服務器上執行命令change master to master_log_file='mysql-bin.00004',master_log_pos=397;注意文件名和position和主服務器上對應。 使用命令start slave;啟動從服務器的slave線程。 再次在主服務器表中插入數據,就應該能夠正常同步了。