mysql 主主模式优缺点_mysql主主同步模式
主192.168.56.20 和 從都新建數據庫db1 db2 db3(如果數據庫在用,需要上鎖后手動從主備份,然后在從恢復)
mysql> create database db1;
Query OK, 1 row affected (0.00 sec)
mysql> create database db2;
Query OK, 1 row affected (0.00 sec)
mysql> create database db3;
Query OK, 1 row affected (0.01 sec)
主授權從的賬號
grant replication slave on . to ‘repl‘@‘192.168.56.21‘ identified by ‘repl‘;
flush privileges;
配置文件開啟bin-log
vim /etc/my.cnf
【mysql】
server-id=101 #每個節點必須不一樣
log-bin=/var/lib/mysql/mysql-bin
重啟主服務
service mysqld restart
查看日志文件和偏移量
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 | 120 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
從192.168.56.21
修改配置文件
vim /etc/my.cnf
server-id=109
重啟從節點服務
service mysqld restart
配置從庫
關閉復制功能
mysql> stop slave;
mysql>change master to master_host=‘192.168.56.20‘,master_user=‘repl‘,master_password=‘repl‘,master_log_file=‘mysql-bin.000001‘,master_log_pos=120;
啟動復制
Mysql>start slave;
檢查復制功能
mysql>show slave status\G
兩個進程需要yes才正常
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
在主庫新建數據庫,然后去從庫看是否同步,同步表示正常。
create database hi_db;
主從同步配置完畢,現在開始配置主主。
配置主配置文件192.168.56.20
vim /etc/my.cnf
【mysql】
server-id=101 #每個節點必須不一樣
log-bin=/var/lib/mysql/mysql-bin
auto_increment_increment=2 #步進值auto_imcrement。一般有n臺主MySQL就填n
auto_increment_offset=1 #起始值。一般填第n臺主MySQL。此時為第一臺主MySQL
#binlog-ignore=mysql #忽略mysql庫【我一般都不寫】
#binlog-ignore=information_schema #忽略information_schema庫【我一般都不寫】
#replicate-do-db=aa #要同步的數據庫,默認所有庫
重啟主節點服務
service mysqld restart
配置從配置文件192.168.56.21
vim /etc/my.cnf
server-id=109
log-bin=/var/lib/mysql/mysql-bin
auto_increment_increment=2 #步進值auto_imcrement。一般有n臺主MySQL就填n
auto_increment_offset=2 #起始值。一般填第n臺主MySQL。此時為第2臺主MySQL
重啟從節點服務
service mysqld restart
在從節點創建主復制的賬號
grant replication slave on . to ‘repl1‘@‘192.168.56.20‘ identified by ‘repl1‘;
flush privileges;
查看二進制文件
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 | 420 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
在主執行
關閉復制功能
mysql> stop slave;
mysql>change master to master_host=‘192.168.56.21‘,master_user=‘repl1‘,master_password=‘repl1‘,master_log_file=‘mysql-bin.000001‘,master_log_pos=420;
啟動復制
Mysql>start slave;
檢查復制功能
mysql>show slave status\G
兩個進程需要yes才正常
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
然后分別在雙方創建數據庫,看看是否都同步。
1、主主復制配置文件中auto_increment_increment和auto_increment_offset只能保證主鍵不重復,卻不能保證主鍵有序。
2、當配置完成Slave_IO_Running、Slave_SQL_Running不全為YES時,show slave status\G信息中有錯誤提示,可根據錯誤提示進行更正。
3、Slave_IO_Running、Slave_SQL_Running不全為YES時,大多數問題都是數據不統一導致。
常見出錯點:
1、兩臺數據庫都存在db數據庫,而第一臺MySQL db中有tab1,第二臺MySQL db中沒有tab1,那肯定不能成功。
2、已經獲取了數據的二進制日志名和位置,又進行了數據操作,導致POS發生變更。在配置CHANGE MASTER時還是用到之前的POS。
3、stop slave后,數據變更,再start slave。出錯。
終極更正法:重新執行一遍CHANGE MASTER就好了。
mysql主主同步模式
標簽:lib???數據操作???二進制文件???log-bin???sql???cut???query???file???gtid
本條技術文章來源于互聯網,如果無意侵犯您的權益請點擊此處反饋版權投訴
本文系統來源:http://blog.51cto.com/13491150/2064190
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的mysql 主主模式优缺点_mysql主主同步模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓系统锁定怎么解锁(安卓系统锁)
- 下一篇: Loadruner压数据库oracle,