mysql實現master-slave同步 mysql中實現master-slave同步: 第一步:分別在兩台機子上各裝一個mysql (本人測試機系統為unbutu,mysql5.5),如只有一台機器,需使mysql的端口不同(3306,3307)。 第二步:找到mysql 的my.cnf文件。 $cd /etc/mysql 進入該目錄。 $ vim my.cnf 如是只讀,且不允許修改。需用$ sudo vim my.cnf 第三步:修改my.cnf 中的配置項: 1 需做如下操作: 將bind-address=127.0.0.1 改為 bind-address=0.0.0.0 將#server-id=1 #log_bin=/var/log/mysql/mysql-bin.log 的注釋(#)去掉。 添加:character-set-server=utf-8 #保證編碼一致。 填加完成後,保存並退出即可。 第四步: 用root權限登錄並創建slave數據庫服務器用戶: $mysql -uroot -p mysql>grant replication slave,replication client on *.* to liang@'192.168.10.21' indntified by 'liang'; mysql>grant replicatin slave on *.* to liang@'192.168.10.21' indntified by 'liang'; 第五步:重啟mysql服務。 $ sudo /etc/init.d/mysql restart #如不能正常啟動,請檢查my.cnf配置項以及mysql 的錯誤日志。 錯誤日志位置:/var/log/mysql/error.log 到此已將master配置完畢。 slave配置。 第六步:修改slave的my.cnf配置文件。 如下: bind-address=0.0.0.0 server-id = 2 master-host = 192.168.10.24 master-user = liang master-password = liang master-port = 3306 log_bin = /var/log/mysql/mysql-bin.log log-slave-updates skip-slave-start character-set-server=utf8 保存並退出. 第七步:重啟slave的mysql服務器(同第五步) 本人在重啟時出現錯誤,不能啟動mysql.經查日志發現:如下錯誤(暫略)由於錯誤日志不在本機。以後補上,嘿嘿。 故將配置改為如下: server-id = 2 #master-host = 192.168.10.24 #master-user = liang #master-password = liang #master-port = 3306 log_bin = /var/log/mysql/mysql-bin.log log-slave-updates skip-slave-start character-set-server=utf8 保存並重啟mysql,ok. 進入myslq,並在mysql中運行: slave start; 第八步:在master中執行: mysql>show master status\G; 顯示內容為如下: 第九步:在slave中,運行如下命令: mysql>change master to master_host='192.168.10.24', master_user='liang', master_password='liang', master_log_file='mysql-bin.000007', master_log_pos=170; 其中master_log_file,master_log_pos 為第八步中所顯示的內容 . mysql>slave start; 第十步:在master的中執行如下命令: mysql>show slave status\G; 請查看Slave_IO_Running:YES Slave_SQL_Running:YES ok ,配置成功。 請出現Slave_IO_Running:Connectiong,請查看下面的錯誤信息或查看日志文件。 第十一步:測試 在主數據庫中創建數據庫: mysql>create database ccc; 在slave中查看,如有ccc數據庫,則說明同步成功。 同時可測創建表,修改表,添加記錄等。一切OK. 最後謝謝網絡上的朋友。在你們的幫助下,順得完成。