欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

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

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

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

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

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

3、主庫的配置

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

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

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

4、從庫的配置

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

進(jìn)入從庫

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


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

# 開啟監(jiān)聽    
mysql> start slave;  

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

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

5、修改UUID

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

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

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

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

mysql> show slave status\G

7、其余從庫配置與以上相同

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

# 查看線程
mysql> SHOW PROCESSLIST\G

  • 第 1 行 - 表示當(dāng)前有一個由 root 用戶在本地(localhost)執(zhí)行的 SHOW PROCESSLIST 查詢,狀態(tài)為 starting,說明該命令剛剛開始執(zhí)行,花費(fèi)的時間為 0。
  • 第 2 行第 3 行 - 這兩行顯示的是來自用戶 testslave 的兩個 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,這意味著從庫正在等待來自主庫的新更新。

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

1、準(zhǔn)備三臺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)境中密碼采用高級別的密碼,實(shí)際生產(chǎn)環(huán)境中將'%'換成具體的ip
#注意:該用戶理論上只需要主庫存在,從庫不需要創(chuàng)建,但在實(shí)戰(zhàn)中,由于各種突發(fā)情況從庫隨時有可能升級為主庫,所以所有從庫也要創(chuàng)建

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

2、主庫配置

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

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

3、從庫配置

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

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

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

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

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

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

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

# 查看線程
mysql> SHOW PROCESSLIST\G

總結(jié)

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

相關(guān)文章

  • Windows下MySQL定時備份腳本的實(shí)現(xiàn)

    Windows下MySQL定時備份腳本的實(shí)現(xiàn)

    這篇文章主要介紹了Windows下MySQL定時備份腳本的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Windows安裝MySQL 5.7.18 解壓版的教程

    Windows安裝MySQL 5.7.18 解壓版的教程

    這篇文章主要為大家詳細(xì)介紹了Windows安裝MySQL 5.7.18 解壓版的詳細(xì)教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • mysql日志滾動

    mysql日志滾動

    日志滾動解決日志文件過大問題,比如我開啟了general_log,這個日志呢是記錄mysql服務(wù)器上面所運(yùn)行的所有sql語句;比如我開啟了mysql的慢查詢
    2014-01-01
  • MySQL與MSSQl使用While語句循環(huán)生成測試數(shù)據(jù)的代碼

    MySQL與MSSQl使用While語句循環(huán)生成測試數(shù)據(jù)的代碼

    有時候我們測試性能的時候經(jīng)常需要生產(chǎn)大量的測試數(shù)據(jù),用sql語句直接生成的數(shù)據(jù)更快,需要的朋友可以參考下。
    2010-12-12
  • MySQL 有關(guān)MHA搭建與切換的幾個錯誤log匯總

    MySQL 有關(guān)MHA搭建與切換的幾個錯誤log匯總

    這篇文章主要介紹了MySQL 有關(guān)MHA搭建與切換的幾個錯誤log匯總,幫助大家更好的理解和使用MySQL,感興趣的朋友可以了解下
    2020-12-12
  • 利用Prometheus與Grafana對Mysql服務(wù)器的性能監(jiān)控詳解

    利用Prometheus與Grafana對Mysql服務(wù)器的性能監(jiān)控詳解

    Prometheus是源于 Google Borgmon的一個開源監(jiān)控系統(tǒng),用 Golang開發(fā)。被很多人稱為下一代監(jiān)控系統(tǒng)。Grafana是一個開源的圖表可視化系統(tǒng),簡單說圖表配置比較方便、生成的圖表比較漂亮。下面就介紹了利用Prometheus與Grafana對Mysql服務(wù)器性能監(jiān)控的方法。
    2017-03-03
  • 關(guān)于mysql基礎(chǔ)知識的介紹

    關(guān)于mysql基礎(chǔ)知識的介紹

    本篇文章是對mysql的基礎(chǔ)知識進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • mysql視圖功能與用法實(shí)例分析

    mysql視圖功能與用法實(shí)例分析

    這篇文章主要介紹了mysql視圖功能與用法,結(jié)合實(shí)例形式分析了mysql數(shù)據(jù)庫視圖的概念、功能、使用方法、與臨時表的區(qū)別及操作相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2019-04-04
  • MySQL安裝報錯找不到MSVCR120.dll文件丟失的解決方案

    MySQL安裝報錯找不到MSVCR120.dll文件丟失的解決方案

    文章介紹了解決MSVCR120.dll丟失問題的幾種方法,包括重新安裝Microsoft Visual C++ Redistributable、手動下載DLL文件、運(yùn)行系統(tǒng)文件檢查工具、檢查系統(tǒng)更新以及卸載并重新安裝相關(guān)軟件
    2024-12-12
  • mysql多行子查詢實(shí)戰(zhàn)案例(只包含不相關(guān)子查詢)

    mysql多行子查詢實(shí)戰(zhàn)案例(只包含不相關(guān)子查詢)

    在MySQL中多行子查詢(也稱為 IN 子查詢)是指子查詢返回多行數(shù)據(jù),并且這些數(shù)據(jù)用于主查詢中的某個條件判斷,這篇文章主要介紹了mysql多行子查詢(只包含不相關(guān)子查詢)的相關(guān)資料,需要的朋友可以參考下
    2024-10-10

最新評論