您好,登錄后才能下訂單哦!
隨著技術的發展,在實際的生產環境中,由單臺MySQL數據庫服務器不能滿足實際的需求。此時數據庫集群就很好的解決了這個問題了。采用MySQL分布式集群,能夠搭建一個高并發、負載均衡的集群服務器。在此之前我們必須要保證每臺MySQL服務器里的數據同步。數據同步我們可以通過MySQL內部配置就可以輕松完成,主要有主從復制和主主復制。
MySQL5.6開始主從復制有兩種方式:基于日志(binlog);基于GTID(全局事務標示符)。此文章是基于日志方式的配置步驟。
1.在主從數據庫配置文件,一般Linux中的MySQL配置文件都在/etc/my.cnf(windows中的配置文件為mysql.ini)。
這里以同步test庫為例子,配置如下:
[mysqld]
#數據庫ID號, 為1時表示為Master,其中master_id必須為1到232–1之間的一個正整數值,主從server-id不能一樣;
server-id=1
#啟用二進制日志;
log-bin=mysql-bin
sync-binlog=1
#需要同步的二進制數據庫名;
binlog-do-db=test
保存文件,重啟MYSQL。
2.構建主從復制,
第一步:在192.168.1.1(主)中創建一個192.168.1.2(從)可以登錄的MySQL用戶,這里以mysql119用戶作為例子。
mysql>CREATE USER 'mysql119'@'@' IDENTIFIED BY '123456';
mysql>GRANT REPLICATION SLAVE ON *.* TO ‘mysql119’@’192.168.1.%’ IDENTIFIED BY ‘123456’;
mysql>FLUSH PRIVILEGES;
第二步:
查看192.168.1.1 主MySQL服務器二進制文件名與位置。
mysql>SHOW MASTER STATUS;第三步:告知從庫二進制文件名與位置,在192.168.1.2中執行:
mysql>CHANGE MASTER TO
>MASTER_HOST=’192.168.95.11’,
>MASTER_USER=’mysql119’,
>MASTER_PASSWORD=’123456’,
>MASTER_LOG_FILE=’mysql-bin.000007’,
>MASTER_LOG_POS=525;
到這里就完成主從復制配置。
3.測試主重復制,在192.168.1.2中
mysql>SLAVE START; #開啟復制
mysql>SHOW SLAVE STATUS\G #查看主從復制是否配置成功
如圖:
當看到Slave_IO_Running: YES、Slave_SQL_Running: YES才表明狀態正常。
實際測試:
- 查看 主test庫的test_table,
- 然后往 主test庫插入一條數據,
- 觀察 從test庫的數據,如圖:
注意:
1.主重mysql版本最好保持一致,避免因版本差異出現不可預知的問題。
2.出現從數據庫連接不上主數據庫,查看是否授權問題。
3.在配置主從復制的時候,備份master數據前先鎖表,保證數據一致性。
如有問題,歡迎指正!
參考文章:
https://www.cnblogs.com/phpstudy2015-6/p/6485819.html
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。