婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > mysql 復制原理與實踐應用詳解

mysql 復制原理與實踐應用詳解

熱門標簽:400電話到哪辦理優惠 云南大數據外呼系統 上海市三維地圖標注 鄭州網絡外呼系統價錢 博樂電銷機器人 機器人打電銷電話 怎么更改高德地圖標注 南寧外呼系統招商 電話機器人是電腦呼號嗎

本文實例講述了mysql 復制原理與實踐應用。分享給大家供大家參考,具體如下:

復制功能是將一個mysql數據庫上的數據復到一個或多個mysql從數據庫上。

復制的原理:在主服務器上執行的所有DDL和DML語句都會被記錄到二進制日志中,這些日志由連接到它的從服務器獲取,并復制到從庫,并保存為中繼日志,

這個過程由一個稱為 IO線程 的線程負責,還有一個稱為 SQL線程 的則按順序執行中繼日志中的語句。

復制有多種拓撲形式:

1、傳統復制,一主多從,一個主服務器多個從服務器。

2、鏈式復制,一臺服務器從主庫復制,而另一臺服務器又從這臺復制,中間服務器又叫中繼主庫。

3、主主復制,兩個主庫互相接受寫入和復制。

4、多源復制,一個從庫,從多個主庫復制。

一、復制如何操作

1、在主庫上啟用二進制日志記錄。

2、在主庫上創建一個復制用戶。

3、在從訓上設置唯一的 server_id。

4、從主庫中備份數據。

5、在從庫上恢復主庫備份的數據。

6、執行CHANGE MASTER TO命令。

7、開始復制。

二、具體的操作步驟如下:

1、在 主庫 上,啟用二進制日志并設置server_id。

#設置server_id
server_id = 1
#開啟binlog日志
log-bin = mysql-bin

2、在主庫上創建復制用戶

create user '用戶名'@'%' identified by '密碼';
grant replication slave on *.* to '用戶名'@'%';

3、在從庫上設置server_id

#設置server_id
server_id = 10

4、備份主庫上的數據

mysqldump -u root -p --all-databases --routines --events --triggers --single-transaction --master-data > 導出路徑

5、在從庫上恢復主庫導出的數據

mysql -u root -p -f  主庫備份文件.sql

6、在從庫上執行 CHANGE MASTER TO 命令

CHANGE MASTER TO 
MASTER_HOST='主庫IP',
MASTER_USER='主庫復制用戶',
MASTER_PASSWORD='密碼',
MASTER_LOG_FILE='二進制日志名稱',
MASTER_LOG_POS=二進制日志位置;

二進制日志名稱和二進制日志位置,已經在備份主庫文件中包含了,類似如下所示:

CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000016', MASTER_LOG_POS=47845;

7、從庫上運行 start slave,然后 show slave status\G; 查看復制狀態;

三、設置主主復制

假設主庫分別是master1和master2。

1、設置master2為只讀

set @@global.read_only = on;

2、在master2上創建復制用戶,如果存在,則不用創建了

create user '用戶名'@'%' identified by '密碼';
grant replication slave on *.* to '用戶名'@'%';

3、確保master2已開啟二進制日志,檢查master2上的二進制日志的坐標

show master status;

4、根據第2步的信息,在master1上執行 CHANGE MASTER TO 命令

CHANGE MASTER TO 
MASTER_HOST='MASTER2主機IP',
MASTER_USER='MASTER2復制用戶',
MASTER_PASSWORD='密碼',
MASTER_LOG_FILE='二進制日志名稱',
MASTER_LOG_POS=二進制日志位置;

5、在master1上開啟 slave 模式

start slave;

6、設置master2為可讀寫

set @@global.read_only = off;

四、設置多源復制

設置 server3 為 server1 和 server2 的從庫。

1、設置 server1 和 server2 的二進制日志和server_id,具體操作可參考上面。

2、在 server1 和 server2 上創建復制用戶,具體操作可參考上面。

3、在 server3 上設置 server_id。

4、備份 server1 和 server2 的數據。

5、在 server3 上恢復 server1 和 server2 上備份的數據。

6、在 server3 上,將復制存儲庫從 FILE 改為 TABLE,

stop slave;
set global master_info_repository = 'TABLE';
set global relay_log_info_repository = 'TABLE';

 還需要在配置文件中修改:

[mysqld]
master-info-repository = TABLE
relay-log-info-repository = TABLE

7、在 server3 上,執行 CHANGE MASTER TO 命令,并命名通道名

CHANGE MASTER TO 
MASTER_HOST='server1主機IP',
MASTER_USER='server1復制用戶',
MASTER_PASSWORD='密碼',
MASTER_LOG_FILE='server1二進制日志名稱',
MASTER_LOG_POS=server1二進制日志位置 FOR CHANNEL 'server1';

CHANGE MASTER TO 
MASTER_HOST='server2主機IP',
MASTER_USER='server2復制用戶',
MASTER_PASSWORD='密碼',
MASTER_LOG_FILE='server2二進制日志名稱',
MASTER_LOG_POS=server2二進制日志位置 FOR CHANNEL 'server2';

8 、在 server3 上,為每個通道執行 START SLAVE FOR CHANNEL 語句

start slave for channel 'server1';
start slave for channel 'server2';

9、查看同步狀態,show slave status\G;

要獲取指定通道的從庫狀態,show slave status for channel '通道名稱'\G;

五、設置復制篩選器

可以選擇要復制哪些表或數據庫,在主庫上,可以使用--binlog-do-db 和 --binlog-ignore-db 選項來選擇要記錄變更的數據庫,以控制二進制日志。更好的方法是控制從庫。

1、復制指定數據庫

CHANGE REPLICATION FILTER REPLICATE_DO_DB = (db1, db2);

2、復制指定表

CHANGE REPLICATION FILTER REPLICATE_DO_TABLE = ('db1.table1');

3、如果想使用通配符來選擇表

CHANGE REPLICATION FILTER REPLICATE_WILD_DO_TABLE = ('db1.tb_%');

4、忽略數據庫

CHANGE REPLICATION FILTER REPLICATE_IGNORE_DB = (db1, db2);

5、忽略指定表

CHANGE REPLICATION FILTER REPLICATE_IGNORE_TABLE = ('db1.table1');

六、將從庫由主從復制切換到鏈式復制

比如現在服務器A為主庫,服務器B和服務器C為從庫,復制于服務器A。現在想把服務器C作為服務器B的從庫。

1、在服務器C上停止從庫運行

stop slave;
show slave status\G;

記錄下Relay_Master_Log_File和Exec_Master_Log_Pos的值

2、在服務器B上停止從庫運行

stop slave;
show slave status\G;

記錄下Relay_Master_Log_File和Exec_Master_Log_Pos的值

3、將服務器B的日志位置與服務器C的進行比較,找出哪一個是服務器A最新同步,通常,服務器C先停止從庫運行,服務器B的日志會更靠前。

4、在服務器C上,使用 START SLAVE UNTIL 語句將其同步到服務器B的日志位置:

START SLAVE UNTIL MASTER_LOG_FILE='上一步中服務器B日志名稱', MASTER_LOG_POS=上一步中服務器B日志位置;

5、在服務器C上,檢查 show slave status 中 Exec_Master_Log_Pos 和 Until_Log_Pos 兩者應該相同。

6、在服務器B上,查看主庫狀態,啟動從庫。

show master status;
start slave;
show slave status\G;

7、在服務器C上,停止從庫運行,執行 CHANGE MASTER TO 命令。

stop slave;
CHANGE MASTER TO
MASTER_HOST='服務器B的IP',
MASTER_USER='服務器B復制用戶',
MASTER_PASSWORD='密碼',
MASTER_LOG_FILE='上一步中通過show master status獲取日志名稱',
MASTER_LOG_POS=上一步中通過show master status獲取日志位置;

8、在服務器C上,啟動復制并查看狀態

start slave;
show slave status\G;

七、將鏈式復制切換到主從復制

服務器A->服務器B->服務器C,如果想讓服務器C直接作為服務器A的從庫,該怎么做?

1、在服務器B上,停止從庫運行,并記錄主庫狀態

stop slave;
show master status\G;

2、服務器C上,確保從庫的延遲已被追上,Relay_Master_Log_File和Exec_Master_Log_Pos應該等于服務器B上主庫狀態。

一旦延遲被追上,就停止從庫的運行。

stop slave;

3、在服務器B上,從 show slave status 中獲取服務器A的日志坐標值(Relay_Master_Log_File和Exec_Master_Log_Pos),并啟動從庫

show slave status\G;
start slave;

4、在服務器C上,停止從庫運行,并執行 CHANGE MASTER TO 命令,指向服務器A

stop slave;
CHANGE MASTER TO 
MASTER_HOST='服務器A的IP',
MASTER_USER='服務器A的復制用戶',
MASTER_PASSWORD='密碼',
MASTER_LOG_FILE='上一步中獲取的日志',
MASTER_LOG_POS=上一步中獲取的日志位置;

5、在服務器C上,開啟從庫,并查看狀態。

start slave;
show slave status\G;

八、設置延遲復制

為什么需要延遲復制,有可能主庫上執行了一條災難性語句,你必須通過備份中的時間點恢復,如果數據庫大小過大,這將導致長時間停機。

為了避免出現這種情況,可以使用一個延遲的從庫,如果發生了災難,并且延遲的從庫還沒有執行這條災難性語句,則可以先停止復制,讓從庫跳過該災難語句,最后把從庫提升為主庫。

1、停止從庫運行

stop slave;

2、設置延遲時間,以秒為單位

CHANGE MASTER TO MASTER_DELAY = 3600;
start slave;

3、檢查從庫狀態

show slave status\G;

SQL_Delay: 從庫延遲于主庫的秒數。

SQL_Remaining_Delay:延遲還剩余的秒數,當保持延遲時,這個值是NULL。

Slave_SQL_Running_State:SQL線程的狀態

九、設置 GTID 復制

全局事務標識符 GTID 是在程序中創建的唯一標識符,并與主庫上提交的每個事務相關聯。該標識符是唯一的,不僅在主庫上,在其他從庫上,它都唯一。

上面描述的所有復制,都需要指明二進制文件和復制起點的位置,如果將一個從庫的主庫切換到另一個,就必須重新獲取二進制文件位置,這會很麻煩。

為了避免,可以使用基于 GTID 的復制,mysql 使用 GTID 自動檢測二進制日志的位置。

1、在所有數據庫中 my.cnf 中啟動 GTID

[mysqld]
gtid_mode = ON
enforce-gtid-consistency = 1
skip_slave_start

2、將主庫設置為只讀,確保主庫與從庫數據一致。

set @@global.read_only = on;

3、重新啟動所有從庫,使 GTID 生效。

4、重新啟動主庫。

5、在從庫上執行 CHANGE MASTER TO 命令來設置 GTID 復制

CHANGE MASTER TO
MASTER_HOST='主庫IP',
MASTER_PORT=3306,
MASTER_USER='復制用戶',
MASTER_PASSWORD='密碼',
MASTER_AUTO_POSITION=1;

6、在所有從庫上執行 start slave; 并查看狀態。

十、設置半同步復制

默認情況下,復制是異步的,主庫不知道寫入操作是否到達從庫,如果主庫與從庫間存在延遲,主庫崩了,尚未到達從庫的那些數據就會丟失。

為了解決這種問題,半同步復制,主庫會一直等待,直到至少有一個從庫接收到寫入的數據。

1、在主庫上,安裝 rpl_semi_sync_master 插件

install plugin rpl_semi_sync_master SONAME 'semisync_master.so';

windows下請使用如下:

install plugin rpl_semi_sync_master SONAME 'semisync_master.dll';

2、確認插件已激活

select plugin_name, plugin_status from information_schema.plugins where plugin_name like '%semi%';

3、開啟半同步復制并調整超時時間

set @@global.rpl_semi_sync_master_enabled=1;
set @@global.rpl_semi_sync_master_timeout=100;

4、在從庫上,安裝 rpl_semi_sync_slave 插件

install plugin rpl_semi_sync_slave SONAME 'semisync_slave.so';

windows下請使用如下:

install plugin rpl_semi_sync_slave SONAME 'semisync_slave.dll';

5、確認插件已激活

select plugin_name, plugin_status from information_schema.plugins where plugin_name like '%semi%';

6、在從庫上,啟用半同步復制,并重新啟動從庫IO線程

set global rpl_semi_sync_slave_enabld = 1;
STOP SLAVE IO_THREAD;
START SLAVE IO_THREAD;

7、通過如下方式查看半同步狀態

show status like 'rpl_semi_sync_master_clients';

查看以半同步連接到主庫的客戶端數量

show status like 'rpl_semi_sync_master_status';

主庫在異步和半同步復制之間切換,on表示半同步,off表示異步。

更多關于MySQL相關內容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL常用函數大匯總》、《MySQL日志操作技巧大全》、《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》及《MySQL數據庫鎖相關技巧匯總》

希望本文所述對大家MySQL數據庫計有所幫助。

您可能感興趣的文章:
  • MySQL主從復制的原理及配置方法(比較詳細)
  • mysql中復制表結構的方法小結
  • MySQL復制表結構和內容到另一張表中的SQL語句
  • MySQL快速復制數據庫數據表的方法
  • Mysql主從復制(master-slave)實際操作案例
  • mysql主從同步復制錯誤解決一例
  • mysql跨數據庫復制表(在同一IP地址中)示例
  • mysql同步復制搭建方法指南詳細步驟
  • 簡單講解MySQL的數據庫復制方法
  • 詳解MySQL雙活同步復制四種解決方案
  • MySQL 數據庫雙向鏡像、循環鏡像(復制)

標簽:白銀 益陽 定西 恩施 寧夏 澳門 秦皇島 杭州

巨人網絡通訊聲明:本文標題《mysql 復制原理與實踐應用詳解》,本文關鍵詞  mysql,復制,原理,與,實踐,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mysql 復制原理與實踐應用詳解》相關的同類信息!
  • 本頁收集關于mysql 復制原理與實踐應用詳解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产精品欧美一区二区三区| 中文字幕一区二区三区视频| 狠狠色狠狠色综合日日91app| 亚洲精品视频在线观看网站| 一区二区三区.www| 免费成人在线影院| zzijzzij亚洲日本少妇熟睡| 精品亚洲欧美一区| 国产一区二区网址| 99久久精品国产麻豆演员表| 色中色一区二区| 欧美性色综合网| 精品国精品国产| 欧美激情一区不卡| 樱花影视一区二区| 久久av资源网| 欧美系列亚洲系列| 久久久美女毛片| 日韩av电影天堂| 99久久国产综合色|国产精品| 欧美这里有精品| 色综合中文综合网| 亚洲18女电影在线观看| 日本sm残虐另类| 国产激情一区二区三区| 免费观看一级欧美片| 粉嫩高潮美女一区二区三区| 欧美日韩一本到| 国产精品激情偷乱一区二区∴| 日韩电影在线观看电影| 99久久国产免费看| 日韩欧美激情四射| 日韩精品福利网| 欧美日韩一区小说| 国产精品美女久久久久久久网站| 日本视频在线一区| 欧美视频一区二区三区四区| 有坂深雪av一区二区精品| 欧美日本在线播放| 日一区二区三区| 日韩免费视频一区| 亚洲欧美另类小说| 欧美在线观看一区| 日本中文字幕一区二区视频| 日韩一区二区高清| 国产毛片精品国产一区二区三区| 精品国产免费视频| 成人免费黄色大片| 亚洲色图一区二区三区| 欧美精品成人一区二区三区四区| 日韩中文字幕区一区有砖一区| 欧美色男人天堂| 国产成人欧美日韩在线电影| 亚洲视频一区二区在线| 欧美色网一区二区| 黄页网站大全一区二区| 91蜜桃在线免费视频| 午夜久久久影院| 国产精品欧美一区二区三区| 欧美精品久久久久久久多人混战 | 久久久国产精品午夜一区ai换脸| 欧美日韩一区不卡| 五月天精品一区二区三区| 久久久午夜电影| 欧美一区二区三区系列电影| 免费成人av在线播放| 成人欧美一区二区三区在线播放| 欧美日免费三级在线| 99视频在线精品| 精品一区二区三区av| 天堂av在线一区| 亚洲黄色片在线观看| 中文字幕一区二区在线播放| 日韩免费观看2025年上映的电影 | 粉嫩av一区二区三区| 狠狠久久亚洲欧美| 视频一区视频二区在线观看| 欧美高清www午色夜在线视频| 成人av网在线| 懂色av中文一区二区三区 | 1024国产精品| 国产精品护士白丝一区av| 精品乱人伦小说| 精品区一区二区| 精品久久免费看| 欧美国产乱子伦| 亚洲男人天堂av网| 亚洲成人av一区| 国内精品伊人久久久久影院对白| 久久国产精品露脸对白| 国产精品一区二区在线观看不卡| 精品一区二区免费在线观看| 男女性色大片免费观看一区二区| 精品在线播放免费| 国产成人精品综合在线观看| av欧美精品.com| 日韩一区二区三区高清免费看看| 久久综合九色综合97婷婷女人 | 成人综合婷婷国产精品久久| 91香蕉国产在线观看软件| aa级大片欧美| 欧美日韩一区不卡| 国产精品福利一区二区三区| 亚洲国产精品精华液网站| 国产一区二区三区久久久| 91蝌蚪porny| 欧美zozo另类异族| 亚洲欧洲在线观看av| 久久电影国产免费久久电影| 91偷拍与自偷拍精品| 99国产精品久| 国内成+人亚洲+欧美+综合在线 | 一级中文字幕一区二区| 国产99久久久国产精品免费看| 色婷婷综合中文久久一本| 亚洲另类中文字| 欧美日韩aaaaaa| 欧美激情资源网| 另类人妖一区二区av| 91久久一区二区| 国产欧美日韩三级| 日韩黄色免费网站| 91浏览器在线视频| 国产午夜精品理论片a级大结局| 国产亚洲精品福利| 91精品国产一区二区人妖| 国产精品私房写真福利视频| 亚洲日本护士毛茸茸| 亚洲成va人在线观看| 国产成人综合亚洲91猫咪| 欧美福利电影网| 美国十次综合导航| 精品国产一区二区亚洲人成毛片 | 91美女片黄在线观看| 国产欧美一区二区精品性色 | 中文欧美字幕免费| 成人精品国产一区二区4080| 国产精品久久毛片a| 99视频一区二区| 夜夜亚洲天天久久| 精品视频在线看| 亚洲综合丝袜美腿| 欧美丝袜丝交足nylons图片| 亚洲成人av在线电影| 色婷婷亚洲一区二区三区| 久久99精品国产麻豆婷婷| 中文字幕欧美日韩一区| 成人av综合一区| 国产色一区二区| 国产91清纯白嫩初高中在线观看| 久久午夜免费电影| av不卡在线播放| 另类综合日韩欧美亚洲| 欧美国产日韩在线观看| 国产精品99精品久久免费| 一区二区视频在线| 精品日韩一区二区三区| 一本一本久久a久久精品综合麻豆| 人人爽香蕉精品| 洋洋av久久久久久久一区| 亚洲一区二区欧美日韩| 国产精品午夜春色av| 欧美日韩国产综合一区二区 | 另类小说一区二区三区| 日韩电影在线一区| 欧美一区二区三区影视| 欧美视频在线一区| 日本精品一区二区三区四区的功能| 成人美女视频在线观看18| 久久精品国产亚洲a| 亚洲欧美色图小说| 日韩在线卡一卡二| 国产精品一区二区久久精品爱涩| 日av在线不卡| 色综合色综合色综合| 亚洲激情中文1区| 亚洲精品成人悠悠色影视| 国产嫩草影院久久久久| 欧美变态tickle挠乳网站| 高清shemale亚洲人妖| 国产成人在线观看| 99久久精品99国产精品| 国产.精品.日韩.另类.中文.在线.播放 | 美国毛片一区二区| 日韩1区2区3区| 国产凹凸在线观看一区二区| 成人午夜免费视频| 欧美午夜一区二区三区| 欧美一级片在线观看| 精品福利在线导航| 综合久久久久久| 日韩福利电影在线| 久久成人久久鬼色| 色94色欧美sute亚洲线路一久| 欧美狂野另类xxxxoooo| 国产欧美一区二区精品性色 | 欧美一二三四在线| 欧美在线短视频| 欧美经典三级视频一区二区三区| 亚洲黄色小视频|