您好,登錄后才能下訂單哦!
下文給大家?guī)黻P(guān)于mysql雙主同步配置實現(xiàn)方案,感興趣的話就一起來看看這篇文章吧,相信看完mysql雙主同步配置實現(xiàn)方案對大家多少有點幫助吧。
一.雙主復(fù)制實現(xiàn)方案
1.讓表的ID自增,然后主1寫1、3、5,主2寫2、4、6
2.不讓表的ID自增,然后通過web端程序去seq服務(wù)器取ID,寫入雙主
雙主工作場景為高并發(fā)寫的場景,慎用。
二.雙主配置,以多實例3306和3308為例
在3306上創(chuàng)建一個專門用來同步數(shù)據(jù)庫的用戶
mysql> grant replicationslave on *.* to rep@'10.0.0.%' identified by '123456';
###*.*代表所有庫和所有表
mysql> flush privileges;
mysql> select user,hostmysql.user;
mysql> show grants forrep@'10.0.0.%';
2.兩個數(shù)據(jù)庫的my.cnf文件里的mysqld模塊添加如下×××部分
3306配置
[root@mysql /]# sed -n '36,43p'/data/3306/my.cnf
#log-slow-queries =/data/3306/slow.log
pid-file = /data/3306/mysql.pid
log-bin = /data/3306/mysql-bin
auto_increment_increment = 2 #自增ID的間隔,如1 3 5間隔為2
auto_increment_offset = 1 #ID的初始位置
log-slave-updates
relay-log =/data/3306/relay-bin
relay-log-info-file =/data/3306/relay-log.info
3308配置
[root@mysql /]# sed -n '36,43p'/data/3308/my.cnf
#log-slow-queries =/data/3308/slow.log
pid-file = /data/3308/mysql.pid
log-bin = /data/3308/mysql-bin
auto_increment_increment = 2 #自增ID的間隔,如1 3 5間隔為2
auto_increment_offset = 2 #ID的初始位置
log-slave-updates
relay-log = /data/3308/relay-bin
relay-log-info-file =/data/3308/relay-log.info
3.重啟兩個數(shù)據(jù)庫實例
[root@mysql /]# /data/3306/mysql restart
[root@mysql /]# /data/3308/mysql restart
4.登陸數(shù)據(jù)庫確認添加的內(nèi)容是否生效
3306
[root@mysql /]# mysql -uroot-p123456 -S /data/3306/mysql.sock
mysql> show variables like"log_%";
+------------------------------------------------------+----------------------------------------------------+
| Variable_name |Value |
+-----------------------------------------------------+-----------------------------------------------------+
| log_bin | ON |
|log_bin_trust_function_creators | OFF |
| log_error | /data/3306/mysql_oldboy3306.err |
| log_output |FILE |
|log_queries_not_using_indexes | OFF |
| log_slave_updates | ON |
| log_slow_queries |OFF |
| log_warnings | 1 |
+----------------------------------------------------+--------------------------------------------------------+
8 rows in set (0.00 sec)
mysql> show variables like"auto_%";
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| auto_increment_increment | 2 |
| auto_increment_offset | 1 |
| autocommit | ON |
| automatic_sp_privileges | ON |
+--------------------------+-------+
4 rows in set (0.00 sec)
3308
mysql> show variables like"log_%";
+---------------------------------+---------------------------------+
| Variable_name | Value |
+---------------------------------+---------------------------------+
| log_bin | ON |
|log_bin_trust_function_creators | OFF |
| log_error |/data/3308/mysql_oldboy3308.err |
| log_output | FILE |
|log_queries_not_using_indexes |OFF |
| log_slave_updates | ON |
| log_slow_queries | OFF |
| log_warnings | 1 |
+---------------------------------+---------------------------------+
8 rows in set (0.00 sec)
mysql> show variables like"auto_%";
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| auto_increment_increment | 2 |
| auto_increment_offset | 2 |
| autocommit | ON |
| automatic_sp_privileges | ON |
+--------------------------+-------+
4 rows in set (0.00 sec)
二.主庫3306備份數(shù)據(jù),導(dǎo)入主庫3308
1.在主庫3306上備份數(shù)據(jù)
[root@mysql ~]# mysqldump-uroot -p123456 -S /data/3306/mysql.sock -A --events -B -x --master-data=1|gzip>/opt/3306_$(date +%F).sql.gz
-A:所有的庫 -x:全局鎖表
2.將數(shù)據(jù)導(dǎo)入主庫3308
[root@mysql ~]# ls /opt
3306_2017-07-03.sql.gz
[root@mysql ~]# cd /opt
[root@mysql opt]# gzip -d 3306_2017-07-03.sql.gz
[root@mysql opt]# ls
3306_2017-07-03.sql
[root@mysql opt]# mysql -uroot-p123456 -S /data/3308/mysql.sock <3306_2017-07-03.sql
3.主庫3308連接主庫3306
[root@mysql opt]# mysql -uroot-p123456 -S /data/3308/mysql.sock <<EOF
CHANGE MASTER TO
MASTER_HOST='10.0.0.20',
MASTER_PORT=3306,
MASTER_USER='rep',
MASTER_PASSWORD='123456';
EOF
[root@mysql opt]# mysql -uroot-p123456 -S /data/3308/mysql.sock -e "start slave"
三.主庫3308備份數(shù)據(jù),導(dǎo)入主庫3306
1.在主庫3308上備份數(shù)據(jù)
[root@mysql ~]# mysqldump-uroot -p123456 -S /data/3308/mysql.sock -A --events -B -x --master-data=1|gzip>/opt/3308_$(date +%F).sql.gz
-A:所有的庫 -x:全局鎖表
2.將數(shù)據(jù)導(dǎo)入主庫3306
[root@mysql ~]# ls /opt
3308_2017-07-03.sql.gz
[root@mysql ~]# cd /opt
[root@mysql opt]# gzip -d 3308_2017-07-03.sql.gz
[root@mysql opt]# ls
3308_2017-07-03.sql
[root@mysql opt]# mysql -uroot -p123456-S /data/3306/mysql.sock <3308_2017-07-03.sql
3.主庫3306連接主庫3308
[root@mysql opt]# mysql -uroot-p123456 -S /data/3306/mysql.sock <<EOF
CHANGE MASTER TO
MASTER_HOST='10.0.0.20',
MASTER_PORT=3308,
MASTER_USER='rep',
MASTER_PASSWORD='123456';
EOF
[root@mysql opt]# mysql -uroot-p123456 -S /data/3306/mysql.sock -e "start slave"
四.在兩個實例上互相創(chuàng)建數(shù)據(jù)庫,測試查看是否正?;ハ鄰?fù)制同步,經(jīng)測試已可以正常同步了^_^
看了以上關(guān)于mysql雙主同步配置實現(xiàn)方案詳細內(nèi)容,是否有所收獲。如果想要了解更多相關(guān),可以繼續(xù)關(guān)注我們的行業(yè)資訊板塊。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。