本篇內(nèi)容介紹了“MySQL并行復(fù)制怎么實現(xiàn)”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
網(wǎng)站建設(shè)公司,為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及定制網(wǎng)站建設(shè)服務(wù),專注于成都企業(yè)網(wǎng)站建設(shè),高端網(wǎng)頁制作,對廣告設(shè)計等多個行業(yè)擁有豐富的網(wǎng)站建設(shè)經(jīng)驗的網(wǎng)站建設(shè)公司。專業(yè)網(wǎng)站設(shè)計,網(wǎng)站優(yōu)化推廣哪家好,專業(yè)seo優(yōu)化優(yōu)化,H5建站,響應(yīng)式網(wǎng)站。
MySQL5.6開始執(zhí)行基于庫級別的并行復(fù)制,MYSQL5.7支持基于表和行級別的并行復(fù)制(Enhanced Multi-Threaded Slave),這里主要是配置MYSQL5.7的基于組提交的并行復(fù)制。
一、環(huán)境描述
名稱 | 版本 | 備注 |
操作系統(tǒng) | RHEL6.5_X86_64 | |
數(shù)據(jù)庫 | 5.7.18-15 | Percona二進制版本 |
復(fù)制節(jié)點 | 10.26.7.129 |
node1 主節(jié)點 |
10.26.7.142 |
node2 從節(jié)點 |
二、主要相關(guān)配置參數(shù)
node1節(jié)點:
#replicate
server-id=1001
skip-slave-start = false
read-only = false
log-slave-updates = 1
expire_logs_days = 2
max_binlog_size = 1G
max_binlog_cache_size = 2G
log-bin = /home/mysql/mysql-bin
log-bin-index = /home/mysql/bin-index
sync_binlog = 1
binlog_format = row
log-slow-slave-statements = 1
max-relay-log-size = 1G
relay-log = /home/mysql/mysql-relay
relay-log-index = /home/mysql/relay-index
relay_log_recovery=ON
gtid_mode=ON
enforce_gtid_consistency=ON
master_info_repository=TABLE
relay_log_info_repository=TABLE
binlog_checksum=NONE
node2節(jié)點
#replicate
server-id=1002
skip-slave-start = false
read-only = false
log-slave-updates = 1
expire_logs_days = 2
max_binlog_size = 1G
max_binlog_cache_size = 2G
log-bin = /home/mysql/mysql-bin
log-bin-index = /home/mysql/bin-index
sync_binlog = 1
binlog_format = row
log-slow-slave-statements = 1
max-relay-log-size = 1G
relay-log = /home/mysql/mysql-relay
relay-log-index = /home/mysql/relay-index
relay_log_recovery=ON
gtid_mode=ON
enforce_gtid_consistency=ON
master_info_repository=TABLE
relay_log_info_repository=TABLE
binlog_checksum=NONE
#parallel slave
slave-parallel-type=LOGICAL_CLOCK
slave-parallel-workers=8
##slave-parallel-type
DATABASE:默認值,基于庫的并行復(fù)制方式
LOGICAL_CLOCK:基于組提交的并行復(fù)制方式
三、數(shù)據(jù)庫啟動并配置主從服務(wù)
數(shù)據(jù)庫啟動略
node2從節(jié)點執(zhí)行下面命令:
change master to master_host='10.26.7.129',master_user='rpl_user',master_password='rpl_pass',master_port=3306,master_auto_position=1;
start slave;
show slave status \G
點擊(此處)折疊或打開
(root:localhost:Thu Jul 20 11:21:10 2017)[(none)]>show slave status \G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.26.7.129
Master_User: rpl_user
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000006
Read_Master_Log_Pos: 190
Relay_Log_File: mysql-relay.000002
Relay_Log_Pos: 355
Relay_Master_Log_File: mysql-bin.000006
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 190
Relay_Log_Space: 550
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1001
Master_UUID: 2faa74b8-66bb-11e7-ab7e-b8ca3a6a61ec
Master_Info_File: mysql.slave_master_info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set: 2faa74b8-66bb-11e7-ab7e-b8ca3a6a61ec:1-28,
35e38786-66bb-11e7-bcc3-b8ca3a6a61a4:1
Auto_Position: 1
Replicate_Rewrite_DB:
Channel_Name:
Master_TLS_Version:
1 row in set (0.00 sec)
四、數(shù)據(jù)庫多線程復(fù)制測試、狀態(tài)監(jiān)控
node1:
點擊(此處)折疊或打開
(root:localhost:Thu Jul 20 11:23:05 2017)[(none)]>drop database db01;
Query OK, 1 row affected (0.02 sec)
(root:localhost:Thu Jul 20 11:23:17 2017)[(none)]>use dbtest;
Database changed
(root:localhost:Thu Jul 20 11:23:22 2017)[dbtest]>create table t(id int);
Query OK, 0 rows affected (0.01 sec)
(root:localhost:Thu Jul 20 11:25:03 2017)[dbtest]>insert into t values(10);
Query OK, 1 row affected (0.01 sec)
node2:
點擊(此處)折疊或打開
(root:localhost:Thu Jul 20 11:23:12 2017)[(none)]>show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| dbtest |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
(root:localhost:Thu Jul 20 11:25:12 2017)[(none)]>use dbtest;
Database changed
(root:localhost:Thu Jul 20 11:25:15 2017)[dbtest]>select * from t;
+------+
| id |
+------+
| 10 |
+------+
1 row in set (0.00 sec)
(root:localhost:Thu Jul 20 11:25:20 2017)[dbtest]>show slave status \G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.26.7.129
Master_User: rpl_user
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000006
Read_Master_Log_Pos: 732
Relay_Log_File: mysql-relay.000002
Relay_Log_Pos: 897
Relay_Master_Log_File: mysql-bin.000006
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 732
Relay_Log_Space: 1092
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1001
Master_UUID: 2faa74b8-66bb-11e7-ab7e-b8ca3a6a61ec
Master_Info_File: mysql.slave_master_info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set: 2faa74b8-66bb-11e7-ab7e-b8ca3a6a61ec:29-31
Executed_Gtid_Set: 2faa74b8-66bb-11e7-ab7e-b8ca3a6a61ec:1-31,
35e38786-66bb-11e7-bcc3-b8ca3a6a61a4:1
Auto_Position: 1
Replicate_Rewrite_DB:
Channel_Name:
Master_TLS_Version:
1 row in set (0.00 sec)
(root:localhost:Thu Jul 20 11:27:34 2017)[information_schema]>use performance_schema;
Database changed
(root:localhost:Thu Jul 20 11:27:38 2017)[performance_schema]>show tables like '%replica%';
+-------------------------------------------+
| Tables_in_performance_schema (%replica%) |
+-------------------------------------------+
| replication_applier_configuration |
| replication_applier_status |
| replication_applier_status_by_coordinator |
| replication_applier_status_by_worker |
| replication_connection_configuration |
| replication_connection_status |
| replication_group_member_stats |
| replication_group_members |
+-------------------------------------------+
8 rows in set (0.00 sec)
多線復(fù)制狀態(tài)監(jiān)控:
select * from replication_applier_status_by_coordinator ;
select * from replication_applier_status_by_worker ;
“MYSQL并行復(fù)制怎么實現(xiàn)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!