真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

MySQL5.7的AB復制以及GTID多線程復制配置

MySQL AB復制:

成都創(chuàng)新互聯(lián)是專業(yè)的三元網(wǎng)站建設公司,三元接單;提供做網(wǎng)站、成都做網(wǎng)站,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行三元網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

 

三臺主機:MASTER IP:172.25.35.21

          SLAVE1 IP:172.25.35.22

          SLAVE2 IP:172.25.35.19

MYSQL版本:mysql5.7

 

下載安裝包

mysql-community-client-5.7.11-1.el6.x86_64.rpm

mysql-community-common-5.7.11-1.el6.x86_64.rpm

mysql-community-libs-5.7.11-1.el6.x86_64.rpm

mysql-community-libs-compat-5.7.11-1.el6.x86_64.rpm

mysql-community-server-5.7.11-1.el6.x86_64.rpm

 

安裝

yum install * -y    安裝所有

啟動 mysql    5.7版本啟動時會隨機生成root初始密碼

cat /var/log/mysqld.log  | grep password    過濾出初始密碼

 

 

初始密碼為:wy+egrCeB1Ul

 

mysql_secure_installation    初始化數(shù)據(jù)庫

更改數(shù)據(jù)庫root密碼  5.7版本要求密碼包括大寫和小寫字母、特殊符號、數(shù)字

 

Mysql  -uroot   -p   用新更改的密碼登陸

 

在master主機上:

 

vim  /etc/my.cnf

添加:

server-id=1

log-bin=mysql-bin                           

binlog-do-db=moto                         同步的數(shù)據(jù)庫為moto

binlog-ignore-db=mysql                      不同步mysql

 

/etc/init.d/mysqld   restart                     每次更改完my.cnf文件要重起mysqld

 

登陸mysql

 

mysql> CREATE DATABASE moto;    添加數(shù)據(jù)庫

MySQL5.7的AB復制以及 GTID多線程復制  配置

mysql> SHOW DATABASES;      查看數(shù)據(jù)庫

MySQL5.7的AB復制以及 GTID多線程復制  配置

mysql> GRANT REPLICATION SLAVE  ON *.* TO  pop@'172.25.35.22' IDENTIFIED BY 'Poiu@123';      給slave1主機172.25.35.22授權 可以用pop用戶 登陸  

 

Mysql> SHOW MASTER STATUS;    查看MASTER狀態(tài)

MySQL5.7的AB復制以及 GTID多線程復制  配置

記下file名與position號

 

在slave1主機上

 

用pop用戶登陸驗證授權是否成功

[root@mysql2 mysql]# mysql -h 172.25.35.21 -u pop -p

Enter password:       輸入pop用戶密碼

mysql> SHOW DATABASES;

MySQL5.7的AB復制以及 GTID多線程復制  配置

 

vim  /etc/my.cnf

添加:

server-id=2

/etc/init.d/mysqld   restart     重起數(shù)據(jù)庫

 

登陸slave1主機的mysql

mysql> CREATE DATABASE moto;   同步之前要保證master與slave主機的數(shù)據(jù)庫信息一致所以為slave1創(chuàng)建moto數(shù)據(jù)庫

mysql>CHANGE MASTER TO MASTER_HOST=’172.25.35.21’,MASTER_USER=’pop’,

MASTER_PASSWORD=’Poiu@123’,MASTER_LOG_FILE=‘mysql-bin.000002’,MASTER_LOG_POS=1817;

mysql> START SLAVE;

mysql> SHOW SLAVE STATUS\G;   查看slave狀態(tài)

MySQL5.7的AB復制以及 GTID多線程復制  配置

看到的信息與剛才設置的相同;

看到IO/SQL  為yes  表示正常

 

測試:

在master主機數(shù)據(jù)庫中

 

mysql>USE moto;

mysql>CREATE TABLE GP( NUM VARCHAR(15) NOT NULL,TEAM VARCHAR(25) NOT NULL);                 創(chuàng)建表GP

mysql> INSERT INTO GP VALUES('93','HONDA');    給表中添加信息

mysql> INSERT INTO GP VALUES('46','YAMAHA');

MySQL5.7的AB復制以及 GTID多線程復制  配置

在slave1主機上

登陸數(shù)據(jù)庫

mysql>USE moto;

mysql> SELECT * FROM GP;

MySQL5.7的AB復制以及 GTID多線程復制  配置

可以看到master剛才添加的信息已經(jīng)同步到了slave主機上

單向同步完成

單向master> slave1>slave2

原理:master作為slave1的master,slave1又作為slave2的master,逐級同步slave2只同步slave1上的 數(shù)據(jù)而不是直接去master上取數(shù)據(jù)

 

配置:

保持master不變、添加slave2 172.25.35.19 主機

 

在slave2上安裝需要的軟件,啟動,并更改數(shù)據(jù)庫root用戶密碼

vim /etc/my.cnf

添加:

server-id=3      每臺主機的server-id都是唯一的、開啟美表一個文件功能

 

重啟mysqld

####不要忘記,作同步的主機、初始的數(shù)據(jù)庫狀態(tài)必須保持一致,在配置slave2之前先將master上的數(shù)據(jù)庫數(shù)據(jù)先復制一份給slave2并導入數(shù)據(jù)庫中

 

在master上

mysqldump -u root -p  moto > moto.back     將moto數(shù)據(jù)庫的信息備份一份出來

scp moto.back 172.25.35.19:/mnt        拷貝一份到slave2上

 

在slave2上

mysql -uroot -p moto < /mnt/moto.back     將備份的導入數(shù)據(jù)庫中   注意slave2本地數(shù)據(jù)庫重要先創(chuàng)建moto數(shù)據(jù)庫    這時slave2與master數(shù)據(jù)庫信息一致

 

在slave1上

vim /etc/my.cnf

添加:

log-bin=mysql-bin          定義二進制日志

binlog-do-db=moto      

binlog-ignore-db=mysql    

log-slave-updates

 

保存后重啟mysqld服務

登陸數(shù)據(jù)庫

授權:

mysql> GRANT REPLICATION SLAVE  ON *.* TO  pop@'172.25.35.19' IDENTIFIED BY 'Poiu@123';                              給slave2主機授權

 

mysql>SHOW MASTER STATUS;

MySQL5.7的AB復制以及 GTID多線程復制  配置

在slave2主機上

進入數(shù)據(jù)庫:

mysql> CHANGE MASTER TOMASTER_HOST='172.25.35.21',MASTER_USER='pop',MASTER_PASSWORD='Poiu@123',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=447;     指定同步數(shù)據(jù)的master主機是172.25.35.21   

mysql>START SLAVE;

mysql>SHOW SLAVE STATUS\G;

MySQL5.7的AB復制以及 GTID多線程復制  配置

看到IO/SQL  為yes并且沒有報錯說明成功

 

當在master端改變數(shù)據(jù)庫信息時、可以看到slave1和slave2主機信息都在發(fā)生改變

 

 

GTID AB復制:

 

使用master跟slave1

在master上:

Vim /etc/my.cnf

添加:

gtid-mode=on                  打開gtid模塊

Enforc e-gtid-consistency=on

 

在slave1上

Vim /etc/my.cnf

注釋掉剛才作為master時添加的:

#log-bin=mysql-bin

#binlog-do-db=westos

#binlog-ignore-db=mysql

#log-slave-updates

添加:

gtid-mode=on                  打開gtid模塊

Enforc e-gtid-consistency=on         設置強行同步,保證主從數(shù)據(jù)的一致性

 

兩臺主機上重啟mysqld

 

用GTID的AB復制需要重新做changemaster操作

 

在slave1上

進入數(shù)據(jù)庫執(zhí)行

mysql> change master to master_host='172.25.35.21',master_user='pop',master_password='Poiu@123',master_auto_position=1;    

 

在master上

進入數(shù)據(jù)庫給共享數(shù)據(jù)庫的表中做兩次添加操作后可以看到slave1上

MySQL5.7的AB復制以及 GTID多線程復制  配置

GTID 多線程復制:

 

在slave1上:

Vim /etc/my.cnf

 

添加:

slave-parallel-type=LOGICAL_CLOCK      

slave-parallel-workers=16       指定線程數(shù)  官方推薦為16  0表示不使用多線程而是使用AB復制

master_info_repository=TABLE

relay_log_info_repository=TABLE

 

/etc/init.d/mysqld restart    每次更改文件后要重啟數(shù)據(jù)庫

 

登陸數(shù)據(jù)庫

mysql> show processlist

MySQL5.7的AB復制以及 GTID多線程復制  配置

會看到有十六個線程。mysql5.7的多線程并行復制、解決了mysql以前為人詬病的復制延遲的問題,使從機的復制效率大大提升。

 

 

 

****當同步做好后slave主機上的數(shù)據(jù)不能更改、只能更改master的數(shù)據(jù)


文章名稱:MySQL5.7的AB復制以及GTID多線程復制配置
當前鏈接:http://weahome.cn/article/gcsshs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部