最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL主從復(fù)制基于binlog與GTID詳解

 更新時(shí)間:2024年10月03日 12:41:38   作者:郭小路  
本文介紹了基于binlog和GTID的MySQL主從復(fù)制搭建步驟,包括準(zhǔn)備環(huán)境、創(chuàng)建授權(quán)賬戶(hù)、配置主從庫(kù)等,通過(guò)主從復(fù)制,可以實(shí)現(xiàn)數(shù)據(jù)的高可用、負(fù)載均衡和災(zāi)難恢復(fù),首先,確保環(huán)境一致性,然后在數(shù)據(jù)庫(kù)中創(chuàng)建具有復(fù)制權(quán)限的賬戶(hù)

一、基于binlog的主從復(fù)制搭建

1、準(zhǔn)備環(huán)境

提前準(zhǔn)備三臺(tái)搭建了MySQL以及關(guān)閉防火墻的linux,并保證三臺(tái)MySQL起始數(shù)據(jù)一致

實(shí)戰(zhàn)中最好是新的mysql,方便操作

如果無(wú)法新建需使用數(shù)據(jù)備份方式將數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)一致

2、數(shù)據(jù)庫(kù)中創(chuàng)建并授權(quán)有主從復(fù)制權(quán)限賬戶(hù)

mysql> grant replication  slave,reload,super on *.*  to 'testslave'@'%' identified by '123456';
mysql> flush privileges;
#注意:生產(chǎn)環(huán)境中密碼采用高級(jí)別的密碼,實(shí)際生產(chǎn)環(huán)境中將'%'換成具體的ip
#注意:該用戶(hù)理論上只需要主庫(kù)存在,從庫(kù)不需要?jiǎng)?chuàng)建,但在實(shí)戰(zhàn)中,由于各種突發(fā)情況從庫(kù)隨時(shí)有可能升級(jí)為主庫(kù),所以所有從庫(kù)也要?jiǎng)?chuàng)建

replication slave:擁有此權(quán)限可以查看從服務(wù)器,從主服務(wù)器讀取二進(jìn)制日志。
super權(quán)限:允許用戶(hù)使用修改全局變量的SET語(yǔ)句以及CHANGE  MASTER語(yǔ)句
reload權(quán)限:必須擁有reload權(quán)限,才可以執(zhí)行flush  [tables | logs | privileges]

3、主庫(kù)的配置

修改數(shù)據(jù)庫(kù)配置文件  /etc/my.cnf
保證主庫(kù)以下兩點(diǎn)
1.binlog日志功能打開(kāi)
2.擁有server-id,并且在該主從復(fù)制集群中唯一
log-bin=/opt/xiaolu/log/a.log  (自己寫(xiě)目錄)
server-id=153  (要保持唯一)

重啟數(shù)據(jù)庫(kù)

#進(jìn)入主庫(kù)查看當(dāng)前主庫(kù)狀態(tài)
mysql> show master status\G
# 注意:此次查詢(xún)關(guān)注file和position兩條信息,從庫(kù)配置時(shí)使用

4、從庫(kù)的配置

修改數(shù)據(jù)庫(kù)配置文件  /etc/my.cnf
保證從庫(kù)有唯一的server-id
 
重啟數(shù)據(jù)庫(kù)

進(jìn)入從庫(kù)

#查看從庫(kù)當(dāng)前監(jiān)聽(tīng)主庫(kù)狀態(tài)
mysql> show slave status\G    
Empty set (0.00 sec)          #默認(rèn)未開(kāi)啟監(jiān)聽(tīng)


# 執(zhí)行如下命令
mysql> CHANGE MASTER TO
     MASTER_HOST='192.168.37.153',   #主庫(kù)ip
     MASTER_USER='testslave',         #主庫(kù)用戶(hù)名(第二步創(chuàng)建的)
     MASTER_PASSWORD='123456',        #主庫(kù)密碼(第二步創(chuàng)建的)
     MASTER_LOG_FILE='a.000002',    #主庫(kù)配置文件(第三步主庫(kù)配置時(shí)截圖的參數(shù))
     MASTER_LOG_POS=154;              #主庫(kù)日志偏移量(第三步主庫(kù)配置時(shí)截圖的參數(shù))

# 開(kāi)啟監(jiān)聽(tīng)    
mysql> start slave;  

#查看從庫(kù)當(dāng)前監(jiān)聽(tīng)主庫(kù)狀態(tài)
mysql> show slave status\G   
如果報(bào)UUID錯(cuò)誤信息就去/opt/xiaolu/data/mysql/auto.cnf文件去改UUID

提示:重置從庫(kù)的復(fù)制配置命令:RESET SLAVE ALL;

5、修改UUID

# vim /opt/xiaolu/data/mysql/auto.cnf

[auto]
server-uuid=e2ee6d4c-80c9-11ef-9bac-000c297e2bf5
隨便改個(gè)數(shù)字就可以

[root@localhost mysql]# service mysqld stop
Shutting down MySQL.. SUCCESS!
[root@localhost mysql]# service mysqld start
Starting MySQL. SUCCESS!
重啟數(shù)據(jù)庫(kù)

6、查看從庫(kù)當(dāng)前監(jiān)聽(tīng)主庫(kù)狀態(tài)

mysql> show slave status\G

7、其余從庫(kù)配置與以上相同

配置完成后查看主從復(fù)制是否實(shí)現(xiàn)

# 查看線程
mysql> SHOW PROCESSLIST\G

  • 第 1 行 - 表示當(dāng)前有一個(gè)由 root 用戶(hù)在本地(localhost)執(zhí)行的 SHOW PROCESSLIST 查詢(xún),狀態(tài)為 starting,說(shuō)明該命令剛剛開(kāi)始執(zhí)行,花費(fèi)的時(shí)間為 0。
  • 第 2 行第 3 行 - 這兩行顯示的是來(lái)自用戶(hù) testslave 的兩個(gè) Binlog Dump 進(jìn)程,其主機(jī)分別為 192.168.37.154192.168.37.155。它們的狀態(tài)均為 Master has sent all binlog to slave; waiting for more updates,這意味著從庫(kù)正在等待來(lái)自主庫(kù)的新更新。

二、基于GTID的主從復(fù)制搭建

1、準(zhǔn)備三臺(tái)mysql機(jī)器環(huán)境,并且創(chuàng)建mysql并賦予權(quán)限,同上

mysql> grant replication  slave,reload,super on *.*  to 'testslave'@'%' identified by '123456';
mysql> flush privileges;
#注意:生產(chǎn)環(huán)境中密碼采用高級(jí)別的密碼,實(shí)際生產(chǎn)環(huán)境中將'%'換成具體的ip
#注意:該用戶(hù)理論上只需要主庫(kù)存在,從庫(kù)不需要?jiǎng)?chuàng)建,但在實(shí)戰(zhàn)中,由于各種突發(fā)情況從庫(kù)隨時(shí)有可能升級(jí)為主庫(kù),所以所有從庫(kù)也要?jiǎng)?chuàng)建

replication slave:擁有此權(quán)限可以查看從服務(wù)器,從主服務(wù)器讀取二進(jìn)制日志。
super權(quán)限:允許用戶(hù)使用修改全局變量的SET語(yǔ)句以及CHANGE  MASTER語(yǔ)句
reload權(quán)限:必須擁有reload權(quán)限,才可以執(zhí)行flush  [tables | logs | privileges]

2、主庫(kù)配置

修改數(shù)據(jù)庫(kù)配置文件  /etc/my.cnf
保證以下四點(diǎn)
log-bin=/opt/xiaolu/log/a.log  #開(kāi)啟binlog日志,master必寫(xiě)
server-id=153    #定義server id master必寫(xiě) 并保持唯一
gtid_mode=ON     #開(kāi)啟gtid
enforce_gtid_consistency=1 #強(qiáng)制gtid  

重啟數(shù)據(jù)庫(kù)

3、從庫(kù)配置

修改數(shù)據(jù)庫(kù)配置文件 /etc/my.cnf
server-id=154
gtid_mode=ON
enforce_gtid_consistency=1

重啟數(shù)據(jù)庫(kù)

#進(jìn)入從庫(kù)
mysql> stop slave;   #停止數(shù)據(jù)庫(kù)監(jiān)聽(tīng)
Query OK, 0 rows affected (0.01 sec)

#設(shè)置從庫(kù)監(jiān)聽(tīng)信息
mysql> change master to
master_host='192.168.37.153',      #主ip 地址  最好用域名
master_user='testslave',     #主服務(wù)上面創(chuàng)建的用戶(hù)
master_password='111111', 
master_auto_position=1;
Query OK, 0 rows affected, 2 warnings (0.00 sec)

# 開(kāi)啟監(jiān)聽(tīng)
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

# 查看從庫(kù)監(jiān)聽(tīng)狀態(tài)
mysql> show slave status\G

4、其余從庫(kù)做相同配置,查看主從復(fù)制狀態(tài)

# 查看線程
mysql> SHOW PROCESSLIST\G

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

台南市| 美姑县| 江达县| 海阳市| 朝阳县| 桂阳县| 镇安县| 广河县| 高平市| 方山县| 林口县| 柳林县| 农安县| 杨浦区| 朝阳区| 启东市| 建宁县| 铁力市| 新乐市| 寿阳县| 永德县| 上蔡县| 阜平县| 民勤县| 南城县| 娱乐| 玛沁县| 时尚| 汉源县| 潢川县| 漠河县| 麻江县| 博客| 湘乡市| 米泉市| 安图县| 夹江县| 平谷区| 黑河市| 阳山县| 九龙坡区|