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

mysql主從復(fù)制的實現(xiàn)步驟

 更新時間:2021年10月22日 16:12:08   作者:AaronHao1  
本文主要介紹了mysql主從復(fù)制的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

mysql主從復(fù)制

本來是在做sharding的,可是做好之后發(fā)現(xiàn)數(shù)據(jù)庫的主從復(fù)制還沒有做,所以在配置好了之后做了些記錄:

mysql主從復(fù)制的方式

mysql主從復(fù)制有兩種方式:基于日志(binlog)、基于GTID(全局事物標示符)本博文用的是基于日志(binlog)的復(fù)制。

mysql主從復(fù)制的原理

1、 Master將數(shù)據(jù)記錄到二進制日志中,也就是mysql配置文件my.cnf的log-bin指定的文件,這些記錄叫做二進制日志事件。
2、 Slave有兩個線程,一個I/O線程,一個SQL線程。I/O線程請求Master,將得到的binlog日志寫到relay log(中繼日志) 文件中。
3、 SQL 線程,會讀取relay log文件中的日志,并解析成具體操作,來實現(xiàn)主從的操作一致,而最終數(shù)據(jù)一致。

這里寫圖片描述

mysql的主從配置的具體實現(xiàn)方式

1、 Master配置

(1) 修改mysql的my.cnf配置文件,這里比較坑爹的是我用的mysql版本沒有my.cnf 配置文件,連my-default.cnf都沒有,一般來說my.cnf在/etc目錄下, my-default.cnf在/usr/local/mysql/support-files中。最終我在網(wǎng)上復(fù)制了一份my.cnf文件放在了/etc中(朋友們可以自己去網(wǎng)上找,有很多的)。
(2) my.cnf中需要修改的配置主要有開啟日志功能,設(shè)置server_id保證其唯一性(不能跟從庫一樣),過濾需備份的數(shù)據(jù)庫。

bash-3.2# vim /etc/my.cnf
# 設(shè)置server_id,不能重復(fù),一般可以設(shè)置為主庫的IP
server_id=81
# 備份過濾:需要備份的數(shù)據(jù)庫,輸出binlog
binlog-do-db=demo_ds_master
# 備份過濾:不需要備份的數(shù)據(jù)庫,不輸出
binlog-ignore-db=mysql
# 開啟二進制日志,將主庫數(shù)據(jù)記錄到mysql-bin開頭的日志文件中(可自定義)          
log-bin=mysql-bin
# 配置每個session的內(nèi)存,在事物過程中用來存儲二進制日志的緩存
binlog_cache_size=1M
# 主從復(fù)制的格式(mixed,statement,row 默認的是statement)
binlog_format=mixed
# 二進制日志自動刪除/過期的天數(shù),默認為0,不自動刪除
expire_logs_days=7
# 用于跳過主從復(fù)制中遇到的所有錯誤或指定的錯誤類型,避免slave端的終端
# 1062:主鍵沖突(具體的參數(shù)可以去網(wǎng)上查詢)
slave_skip_errors=1062

(3) 啟動/重啟Master數(shù)據(jù)庫服務(wù),登錄數(shù)據(jù)庫,創(chuàng)建數(shù)據(jù)同步用戶,并授權(quán)

#授權(quán)這個機器可以備份主數(shù)據(jù)庫的數(shù)據(jù)
mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'root'@'192.168.31.60' identified by 'password';
#然后刷新權(quán)限
mysql> flush privileges;
#查看配置的主庫信息
mysql> show master status;

這里寫圖片描述 

(4) 主庫數(shù)據(jù)備份,確保主從庫的數(shù)據(jù)一致性

# 臨時鎖住表,設(shè)置只讀權(quán)限
mysql> flush tables with read lock;
# 備份數(shù)據(jù)庫
bash-3.2# mysqldump -uroot -p --add-drop-table demo_ds_master_1 > /tmp/demo_ds_master_1.sql;
# 解鎖表
mysql> unlock table;

2、 Slave配置

(1) 修改從數(shù)據(jù)庫mysql的my.cnf配置文件,添加從數(shù)據(jù)庫的中繼日志配置

[root@develop etc]# vim my.cnf
# 設(shè)置server_id,不能重復(fù),這里設(shè)置的是從庫的IP
server-id=60
# 開啟從數(shù)據(jù)庫中繼日志,將主數(shù)據(jù)庫的binlog寫到relay log中,中繼日志以hehe-mysql-relay-bin開頭(可自定義)
relay_log=hehe-mysql-relay-bin
# 設(shè)置從數(shù)據(jù)庫為只讀權(quán)限,防止主從數(shù)據(jù)不一致
read_only=1

(2) 如果從庫需要作為另一個庫的主庫的話,需要加上Master上的配置信息,并且加上log_slave_updates=1將Master的binlog記錄到自己的binlog日志中。

這里寫圖片描述 

(3) 重啟從庫數(shù)據(jù)庫,同步主庫數(shù)據(jù)

# 運行主數(shù)據(jù)庫的備份數(shù)據(jù)庫
[root@develop etc]# mysql -uroot -p demo_ds_master_1 < /tmp/demo_ds_master_1.sql
# 登錄從數(shù)據(jù)庫
[root@develop etc]# mysql -uroot -p
# 設(shè)置該從節(jié)點的主節(jié)點
mysql> change master to master_host='192.168.31.80', master_user='root',master_password='password',
master_port=3306,
master_log_file='mysql-bin.000001',
master_log_pos=154;
# 開啟主從同步
mysql> start slave;
# 查看主從同步狀態(tài)
mysql> show slave status\G;
# 查看主從線程狀態(tài)
mysql> show processlist\G;

這里寫圖片描述 

圖片中顯示如下,說明主從復(fù)制已經(jīng)配置好了,下面主庫插入數(shù)據(jù)就可以實現(xiàn)從庫自動復(fù)制主庫數(shù)據(jù)了。

  • Slave_IO_State: Waiting for master to send event
  • Slave_IO_Running: Yes
  • Slave_SQL_Running: Yes

到此這篇關(guān)于mysql主從復(fù)制的實現(xiàn)步驟的文章就介紹到這了,更多相關(guān)mysql主從復(fù)制內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Window系統(tǒng)下自動備份MySql數(shù)據(jù)庫方法

    Window系統(tǒng)下自動備份MySql數(shù)據(jù)庫方法

    Window下可以使用Bat批處理文件來對MySql進行備份操作,備份時一般數(shù)據(jù)量較大的情況可以使用復(fù)制文件的方式,但是這種方式要求服務(wù)器停機或者停止寫入命令,不大使用
    2012-11-11
  • mysql 8.0.22壓縮包完整安裝與配置教程圖解(親測安裝有效)

    mysql 8.0.22壓縮包完整安裝與配置教程圖解(親測安裝有效)

    這篇文章主要介紹了mysql 8.0.22壓縮包完整安裝與配置教程圖解(親測安裝有效),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • 關(guān)于Mysql提高SQL性能的技巧(必看)

    關(guān)于Mysql提高SQL性能的技巧(必看)

    這篇文章主要介紹了關(guān)于Mysql提高SQL性能的技巧(必看),SQL查詢的性能直接影響系統(tǒng)的響應(yīng)時間,優(yōu)化SQL可以減少查詢的執(zhí)行時間,提高系統(tǒng)的響應(yīng)速度,提升用戶體驗,本文就來詳細講解一下如何優(yōu)化SQL性能
    2023-07-07
  • mysql服務(wù)設(shè)置遠程連接如何解決1251 client does not support問題

    mysql服務(wù)設(shè)置遠程連接如何解決1251 client does not su

    文章介紹了如何在遠程主機上配置MySQL環(huán)境,并使用Navicat連接遠程MySQL數(shù)據(jù)庫的步驟,包括前期準備、mysql配置以及使用Navicat連接的過程
    2024-12-12
  • MySQL 搭建雙主復(fù)制服務(wù)并通過 HAProxy 負載均衡的過程詳解

    MySQL 搭建雙主復(fù)制服務(wù)并通過 HAProxy 負載均衡的過程詳解

    在數(shù)據(jù)庫管理中,數(shù)據(jù)的備份和同步是至關(guān)重要的環(huán)節(jié),而雙主復(fù)制(Dual Master Replication)作為一種高可用性和數(shù)據(jù)同步的解決方案,本文將介紹MySQL雙主復(fù)制的配置過程并通過 HAProxy 負載均衡,感興趣的朋友一起看看吧
    2024-03-03
  • 系統(tǒng)高吞吐量下的數(shù)據(jù)庫重復(fù)寫入問題分析解決

    系統(tǒng)高吞吐量下的數(shù)據(jù)庫重復(fù)寫入問題分析解決

    這篇文章主要介紹了系統(tǒng)高吞吐量下的數(shù)據(jù)庫重復(fù)寫入問題分析解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-04-04
  • pymysql操作mysql數(shù)據(jù)庫的方法

    pymysql操作mysql數(shù)據(jù)庫的方法

    這篇文章主要介紹了pymysql簡單操作mysql數(shù)據(jù)庫的方法,主要講的是一些基礎(chǔ)的pymysql操作mysql數(shù)據(jù)庫的方法,結(jié)合實例代碼給大家講解的非常詳細,需要的朋友可以參考下
    2023-04-04
  • MYSQL如何查詢成績?yōu)榍?名的學(xué)生

    MYSQL如何查詢成績?yōu)榍?名的學(xué)生

    這篇文章主要介紹了MYSQL如何查詢成績?yōu)榍?名的學(xué)生問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • mysql設(shè)置默認值無效問題及解決

    mysql設(shè)置默認值無效問題及解決

    這篇文章主要介紹了mysql設(shè)置默認值無效問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • MAC下MYSQL5.7.17連接不上的問題及解決辦法

    MAC下MYSQL5.7.17連接不上的問題及解決辦法

    MAC下MYSQL5.7.17無法連接的問題,下載安裝完SQLBench_community 6.3.9后新建MYSQL CONNECTIONS根本連接不上,提示為密碼錯,什么原因如何解決呢?今天小編給大家解答下
    2017-02-02

最新評論

佛坪县| 江川县| 延寿县| 台北县| 扶余县| 民和| 昌邑市| 白玉县| 镇巴县| 留坝县| 昌都县| 偏关县| 师宗县| 湖南省| 象山县| 卓资县| 易门县| 木兰县| 成都市| 安平县| 德格县| 铁岭市| 玛纳斯县| 得荣县| 承德县| 平顶山市| 大厂| 淮滨县| 周至县| 巴林左旗| 安陆市| 陕西省| 武城县| 水城县| 海淀区| 凤阳县| 两当县| 牙克石市| 河南省| 兴义市| 华宁县|