亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

mysql主從復(fù)制

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

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

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

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

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

這里寫(xiě)圖片描述

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

1、 Master配置

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

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

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

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

這里寫(xiě)圖片描述 

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

# 臨時(shí)鎖住表,設(shè)置只讀權(quán)限
mysql> flush tables with read lock;
# 備份數(shù)據(jù)庫(kù)
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ù)庫(kù)mysql的my.cnf配置文件,添加從數(shù)據(jù)庫(kù)的中繼日志配置

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

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

這里寫(xiě)圖片描述 

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

# 運(yùn)行主數(shù)據(jù)庫(kù)的備份數(shù)據(jù)庫(kù)
[root@develop etc]# mysql -uroot -p demo_ds_master_1 < /tmp/demo_ds_master_1.sql
# 登錄從數(shù)據(jù)庫(kù)
[root@develop etc]# mysql -uroot -p
# 設(shè)置該從節(jié)點(diǎn)的主節(jié)點(diǎn)
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;
# 開(kāi)啟主從同步
mysql> start slave;
# 查看主從同步狀態(tài)
mysql> show slave status\G;
# 查看主從線(xiàn)程狀態(tài)
mysql> show processlist\G;

這里寫(xiě)圖片描述 

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

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

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

相關(guān)文章

  • mysql中redo log和 binlog的區(qū)別

    mysql中redo log和 binlog的區(qū)別

    本文主要介紹了mysql中redo log和 binlog的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • MySQL 5.6 如何更改安全的處理密碼探討

    MySQL 5.6 如何更改安全的處理密碼探討

    MySQL 5.6將會(huì)自動(dòng)的在日志中隱藏密碼信息,接下來(lái)為你詳細(xì)介紹下MySQL 5.6 如何更安全的處理密碼,感興趣的你可以參考下哈,希望可以幫助到你
    2013-03-03
  • MySQL-8.0.26配置圖文教程

    MySQL-8.0.26配置圖文教程

    最近公司項(xiàng)目更換數(shù)據(jù)庫(kù)版本,在此記錄分享一下自己安裝配置MySQL8.0版本的過(guò)程吧,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)MySQL-8.0.26配置教程感興趣的朋友跟隨小編一起看看吧
    2021-12-12
  • MySQL觸發(fā)器的使用場(chǎng)景及方法實(shí)例

    MySQL觸發(fā)器的使用場(chǎng)景及方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于MySQL觸發(fā)器的使用場(chǎng)景及方法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • mysql-canal-rabbitmq 安裝部署超詳細(xì)教程

    mysql-canal-rabbitmq 安裝部署超詳細(xì)教程

    這篇文章主要介紹了mysql-canal-rabbitmq 安裝部署超詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Centos 6.5 下安裝mysql 5.6.21的方法

    Centos 6.5 下安裝mysql 5.6.21的方法

    本文給大家?guī)?lái)Centos 6.5 下安裝mysql 5.6.21的方法,操作方法比較簡(jiǎn)單,介紹的非常詳細(xì),感興趣的朋友可以參考下操作步驟
    2016-09-09
  • xampp中修改mysql默認(rèn)空密碼(root密碼)的方法分享

    xampp中修改mysql默認(rèn)空密碼(root密碼)的方法分享

    以前開(kāi)發(fā)我一直都是用的phpnow做php開(kāi)發(fā)環(huán)境,phpnow的特點(diǎn)就是一鍵安裝,安裝的時(shí)候會(huì)要求用戶(hù)輸入mysql的root密碼。今天由于客戶(hù)機(jī)器使用的xampp作為開(kāi)發(fā)環(huán)境,所以碰到了修改mysql默認(rèn)空密碼的問(wèn)題
    2014-04-04
  • MySQL刪除數(shù)據(jù)庫(kù)的兩種方法

    MySQL刪除數(shù)據(jù)庫(kù)的兩種方法

    這篇文章主要為大家詳細(xì)介紹了MySQL刪除數(shù)據(jù)庫(kù)的兩種方法,感興趣的小伙伴們可以參考一下
    2016-06-06
  • MySQL日志管理和備份與恢復(fù)

    MySQL日志管理和備份與恢復(fù)

    這篇文章主要介紹了MySQL如何實(shí)現(xiàn)日志的管理,備份與恢復(fù),本文有一定的參考價(jià)值,感興趣的小伙伴可以參考閱讀
    2023-04-04
  • mysql中模糊查詢(xún)的四種用法介紹

    mysql中模糊查詢(xún)的四種用法介紹

    這篇文章主要介紹了mysql中模糊查詢(xún)的四種用法,需要的朋友可以參考下
    2014-03-03

最新評(píng)論