MySQL 5.5 主從配置
MySQL的主從複製至少是需要兩個Mysql的服務,當然MySQL的服務是可以分布在不同的伺服器上,也可以在一台伺服器上啟動多個服務。
(1)首先確保主從伺服器上的MySQL版本相同
(2)在主伺服器上,設定一個從資料庫的賬戶,使用REPLICATION SLAVE賦予許可權,如:
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave001'@'172.16.10.143' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.13 sec)
(3)修改主要資料庫的設定檔my.cnf,開啟BINLOG,並設定server-id的值,修改之後必須重啟Mysql服務
(4)之後可以得到主伺服器當前二進[mysqld]
log-bin = /home/mysql/log/mysql-bin.log
server-id=1
制日誌名和位移量,這個操作的目的是為了在從資料庫啟動後,從這個點開始進行資料的恢複
mysql> show master status\G;
*************************** 1. row ***************************
File: mysql-bin.000003
Position: 243
Binlog_Do_DB:
Binlog_Ignore_DB:
1 row in set (0.00 sec)
(5)好了,現在可以停止主要資料的的更新操作,並產生主要資料庫的備份,我們可以通過mysqldump到處資料到從資料庫,當然了,你也可以直接用cp命令將資料檔案複製到從資料庫去
注意在匯出資料之前先對主要資料庫進行READ LOCK,以保證資料的一致性
mysql> flush tables with read lock;
Query OK, 0 rows affected (0.19 sec)
之後是mysqldump
mysqldump -h127.0.0.1 -p3306 -uroot -p test > /home/chenyz/test.sql
最好在主要資料庫備份完畢,恢複寫操作
mysql> unlock tables;
Query OK, 0 rows affected (0.28 sec)
(6)將剛才主要資料備份的test.sql複製到從資料庫,進行匯入
(7)接著修改從資料庫的my.cnf,增加server-id參數,指定複製使用的使用者,主要資料庫伺服器的ip,連接埠以及開始執行複製日誌的檔案和位置
server-id = 2
log-bin=mysql-bin
replicate-do-db=test
replicate-do-db=bbs
mysql>stop slave;
mysql>researt slave;
mysql>change master to master_host = 'VMS00782'
,master_user = 'replication',
master_password = 'ReplPass@123456',
master_port = 3306,
master_log_file = 'VMS00782-bin.000001',
master_log_pos = 120;
mysql>start slave;
mysql>show slave status;
Ubuntu下Nginx做負載實現高效能WEB伺服器5---MySQL主主同步
生產環境MySQL主主同步主鍵衝突處理
MySQL主從失敗 錯誤Got fatal error 1236
MySQL主從複製,單台伺服器上實施
搭建MySQLProxy 伺服器實現讀寫分離+主從同步
MySQL 5.5 主從雙向同步
MySQL 5.5主從同步排錯
本文永久更新連結地址: