溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MYSQL的架構(gòu)中主從異步復(fù)制是怎么進(jìn)行的

發(fā)布時(shí)間:2021-10-08 17:01:08 來(lái)源:億速云 閱讀:115 作者:柒染 欄目:MySQL數(shù)據(jù)庫(kù)

這篇文章將為大家詳細(xì)講解有關(guān)MYSQL的架構(gòu)中主從異步復(fù)制是怎么進(jìn)行的,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

/

服務(wù)器

從服務(wù)器

Ip

192.168.31,79

192.168.31.188

hostname

mysql

mysql2

mysql-version

5.7.23

5.7.23

server-id

0ac92118-59f9-11ea-8806-080027c1c1ff

2516faba-65f4-11ea-82b6-080027b0e953

1.主庫(kù)修改參數(shù)文件

[root@mysql soft]# vi /etc/my.cnf

添加內(nèi)容如下:

server-id=79   #設(shè)置主服務(wù)器的ID(不能和別的服務(wù)器重復(fù),隨意)

innodb_flush_log_at_trx_commit=2 #可以配置的值:0/1/2; 0、效率最高,最不安全;1、最安全,但是效率最低;2、安全和效率平衡的取舍,在服務(wù)器系統(tǒng)掛掉的情況下會(huì)丟失數(shù)據(jù);

sync_binlog=1  #,值可設(shè)置 1、500、1000;可自己根據(jù)測(cè)試性能配置

log-bin=mysql-bin  #binlog日志文件名

binlog-ignore-db=mysql # 表示不同步mysql庫(kù)

binlog-ignore-db=information_schema

binlog-ignore-db=oggmysql

binlog-ignore-db=sys

binlog-ignore-db=performance_schema

binlog-do-db=TEST # 表示同步TEST庫(kù)

2.主庫(kù)創(chuàng)建同步賬號(hào)

[root@mysql ~]# mysql -uroot -p

mysql> create user 'sync'@'%' identified by 'Oracle123'

mysql> grant FILe on *.* to 'sync'@'192.168.31.188' identified by 'Oracle123';

#賦予FILE權(quán)限,允許從從庫(kù)ip訪問(wèn)主庫(kù)

mysql> grant replication slave on *.* to 'sync'@'192.168.31.188' identified by 'Oracle123';

#賦予主從同步權(quán)限

mysql> flush privileges;

3.重啟主庫(kù)

[root@mysql ~]# service mysqld stop

[root@mysql ~]# service mysqld start

[root@mysql ~]# mysql -uroot -p

mysql> show master status;

MYSQL的架構(gòu)中主從異步復(fù)制是怎么進(jìn)行的

注:以上截圖中的FILE,POSTTION在備庫(kù)配置時(shí)需要使用到

4. 主庫(kù)備份數(shù)據(jù)庫(kù)

[root@mysql soft]# mysqldump --single-transaction -uroot -pOracle123 TEST > TEST_20200310.sql

5.從庫(kù)恢復(fù)數(shù)據(jù)庫(kù)

mysql> create database TEST;

[root@mysql2 soft]# mysql -uroot -pOracle123 TEST < TEST_20200310.sql

6.從庫(kù)參數(shù)修改

[root@mysql2 mysql]# vi /etc/my.cnf

添加內(nèi)容如下:

server-id=188

#log-bin=mysql-bin  #從庫(kù)提高性能可以不開bin-log日志

replicate-ignore-db=mysql

binlog-ignore-db=information_schema

binlog-ignore-db=oggmysql

binlog-ignore-db=sys

binlog-ignore-db=performance_schema

binlog-do-db=TEST

innodb_flush_log_at_trx_commit=2 # 可以配置的值:0/1/2; 0、效率最高,最不安全;1、最安全,但是效率最低;2、安全和效率平衡的取舍,在服務(wù)器系統(tǒng)掛掉的情況下會(huì)丟失數(shù)據(jù);

sync_binlog=1000  # 每進(jìn)行n次事務(wù)提交之后,MySQL將binlog_cache中的數(shù)據(jù)強(qiáng)制寫入磁盤。

slave_parallel_workers=4 #根據(jù)實(shí)際情況決定開啟多少個(gè)線程用于主從復(fù)制

slave_parallel_type=logical_clock #基于組提交的并行復(fù)制方式

master_info_repository=TABLE

relay_log_info_repository=TABLE

relay_log_recovery=ON

7. 從庫(kù)重啟

[root@mysql2 data]# service mysql stop

[root@mysql2 data]# service mysql start

8.從庫(kù)配置

mysql> stop slave;

mysql> change master to master_host='192.168.31.79', master_user='sync',master_password='Oracle123', master_log_file='mysql-bin.00001' ,master_log_pos=154;

mysql> start slave;

mysql> show slave status \G;

MYSQL的架構(gòu)中主從異步復(fù)制是怎么進(jìn)行的

9.驗(yàn)證

1)主庫(kù)插入數(shù)據(jù)

mysql> insert into TEST values (7,'liuqi');

2)備庫(kù)查詢

mysql> select * from TEST;

關(guān)于MYSQL的架構(gòu)中主從異步復(fù)制是怎么進(jìn)行的就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI