mysql主主同步
原創作品,允許轉載,轉載時請務必以超連結形式標明文章 原始出處 、作者資訊和本宣告。否則將追究法律責任。http://navyaijm.blog.51cto.com/4647068/809417
1,授權使用者:
A伺服器
mysql>grant replication slave,file on *.* to `repl9`@`192.168.1.102` identified by `1234569`;
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
B伺服器
mysql>grant replication slave,file on *.* to `repl8`@`192.168.1.101` identified by `1234568`;
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
2,配置檔案
A伺服器
log-bin=mysql-bin
server-id = 1
binlog-do-db=test
binlog-ignore-db=mysql
replicate-do-db=test
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
sync_binlog=1
auto_increment_increment=2
auto_increment_offset=1
master-host = 192.168.1.102
master-user = repl8
master-password = 1234568
master-port = 3306
B伺服器
log-bin=mysql-bin
server-id = 2
binlog-do-db=test
binlog-ignore-db=mysql
replicate-do-db=test
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
sync_binlog=1
auto_increment_increment=2
auto_increment_offset = 2
master-host = 192.168.1.101
master-user = repl9
master-password = 1234569
master-port = 3306
啟動伺服器就ok了
————————————————–
Q: 當在另一臺機器上登入MySQL時出現如下錯誤:
ERROR 2003 (HY000): Can`t connect to MySQL server on `x.x.x.x` (111)
A: 原因是MySQL考慮到安全因素,預設配置只讓從本地登入
開啟 /etc/mysql/my.cnf 檔案,找到 bind-address = 127.0.0.1 修改為 bind-address = 0.0.0.0
重啟mysql : sudo /etc/init.d/mysql restart
========================================
101 增加,102不同步 ?????????
mysql -h192.168.1.102 -urepl8 -p1234568 ok
102 增加,101 同步
mysql -h192.168.1.101 -urepl9 -p1234569 ok
比較兩組的show slave statusG;
102
Slave_IO_Running: No
Slave_SQL_Running: Yes
Replicate_Do_DB: test
Replicate_Ignore_DB: mysql
sudo /etc/init.d/mysql restart
sudo service mysql restart 以後就變成:lave_IO_Running: YES
出現的問題(多主自增長ID重複)
解決方法:
我們只要保證兩臺伺服器上插入的自增長資料不同就可以了
如:A查奇數ID,B插偶數ID,當然如果伺服器多的話,你可以定義演算法,只要不同就可以了
在這裡我們在A,B上加入引數,以實現奇偶插入
A:my.ini上加入引數
auto_increment_offset = 1
auto_increment_increment = 2
這樣A的auto_increment欄位產生的數值是:1, 3, 5, 7, …等奇數ID了
B:my.ini上加入引數
auto_increment_offset = 2
auto_increment_increment = 2
這樣B的auto_increment欄位產生的數值是:2, 4, 6, 8, …等偶數ID了
可 以看出,你的auto_increment欄位在不同的伺服器之間絕對不會重複,所以Master-Master結構就沒有任何問題了。當然,你還可以使 用3臺,4臺,或者N臺伺服器,只要保證auto_increment_increment = N 再設定一下auto_increment_offset為適當的初始值就可以了,那樣,我們的MySQL可以同時有幾十臺主伺服器,而不會出現自增長ID 重複。
在這裡我們說的是2臺MYSQL伺服器,你也可以擴充套件到多臺,實現方法類似
A -> B -> C-> D ->A
這樣一個環形的備份結構就形成了,最後可要記住 自增長ID(主鍵)要設計好哦,否則會出錯的
相關文章
- mysql 5.7主主同步MySql
- MySQL 5.6主主同步MySql
- Mysql主主同步-配置資料同步MySql
- mysql主從同步MySql主從同步
- MySQL主從同步配置MySql主從同步
- MySQL 資料主從同步MySql主從同步
- MySql主從同步介紹MySql主從同步
- Mysql 主從同步實戰MySql主從同步
- mysql主從同步機制MySql主從同步
- mysql master slave 主從同步MySqlAST主從同步
- 生產環境mysql主主同步主鍵衝突處理MySql
- MySQL主從複製、半同步複製和主主複製MySql
- MYSQL資料庫主從同步(一主一從)MySql資料庫主從同步
- MySQL主從複製、半同步複製和主主複製概述MySql
- [資料庫]MYSQL主從同步資料庫MySql主從同步
- Mysql 主從同步原理簡析MySql主從同步
- mysql主從同步問題整理MySql主從同步
- MySQL主從同步配置記錄MySql主從同步
- MySQL主從同步加速Transfer–FAQMySql主從同步
- MySQL-主從複製之同步主從資料MySql
- mysql5.6主主叢集自動同步指令碼MySql指令碼
- MySQL的主從複製、半同步複製、主主複製詳解MySql
- 配置mysql5.5主從複製、半同步複製、主主複製MySql
- MySQL主從同步校驗與重新同步薦MySql主從同步
- MySQL 5.7的安裝及主從複製(主從同步)MySql主從同步
- Mysql主從同步實戰(一)【知其然】MySql主從同步
- 使用laradock配置mysql主從同步MySql主從同步
- mysql主從同步(2)-問題梳理MySql主從同步
- mysql 5.6 半同步主從安裝MySql
- MySQL主從雙向同步複製MySql
- 一種MySQL主從同步加速方案MySql主從同步
- MySQL主從同步(一主一從、一主多從、主從從)等結構的概述與配置MySql主從同步
- Mysql主從同步(1) - 概念和原理介紹 以及 主從/主主模式 部署記錄MySql主從同步模式
- 揭秘MySQL的主從同步實現方案MySql主從同步
- MySQL主從同步報error 1236MySql主從同步Error
- Window 10 單機配置MYSQL主從同步MySql主從同步
- 怎樣重配重置mysql主從同步MySql主從同步
- MySQL 主從同步的基本原理MySql主從同步