溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MySQL手動主從同步不鎖表的實現(xiàn)過程

發(fā)布時間:2021-09-16 14:50:42 來源:億速云 閱讀:138 作者:chen 欄目:大數(shù)據(jù)

這篇文章主要講解了“MySQL手動主從同步不鎖表的實現(xiàn)過程”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“MySQL手動主從同步不鎖表的實現(xiàn)過程”吧!

有時候MySQL主從同步不一致比較嚴重的時候,需要手動同步。

先說說在鎖表的情況下如何操作:
以下是其簡要過程: 

1.先對主庫鎖表

FLUSH TABLES WITH READ LOCK;

2.備份數(shù)據(jù)

mysqldump -uroot -p -hlocalhost > mysql.bak.sql

3.解鎖主庫

unlock tables;

4.查看主庫的binlog文件和位置

show master status; 找出File和Position

5.使用scp命令把文件移動到從庫

scp mysql.bak.sql root@192.168.128.101:/tmp/

6.在從庫上停止同步

mysql> stop slave;

7.導(dǎo)入數(shù)據(jù)

mysql> source /tmp/mysql.bak.sql

8.設(shè)置從庫的同步開始文件和開始位置

change master to master_host = '主庫主機', master_user = '同步用戶名', master_port=3306, master_password='', master_log_file = '第3步中獲取的file', master_log_pos=第3步中獲取的position;

9.從庫上啟動同步并檢查

mysql> start slave;

mysql> show slave status\G  查看:

Slave_IO_Running: Yes

Slave_SQL_Running: Yes、
 

 不鎖表的方法:

大致是不需要執(zhí)行第1和第3步,在第2導(dǎo)出數(shù)據(jù)的時候加上參數(shù)

mysqldump --skip-lock-tables --single-transaction --flush-logs --hex-blob --master-data=2 -A

--skip-lock-tables 不鎖表

--master-data=2 在導(dǎo)出的時候同時生成binlog文件名和位置在導(dǎo)出的文件開頭。這個很重要。因此第4步也不需要執(zhí)行了,binlog的文件和位置可以從這里拿到。

--single-transaction 通過將導(dǎo)出操作封裝在一個事務(wù)內(nèi)來使得導(dǎo)出的數(shù)據(jù)是一個一致性快照

最后把第8步的binlog文件和位置替換成導(dǎo)出的文件開頭找到的那個帶有注釋的file和position就好可以了。

感謝各位的閱讀,以上就是“MySQL手動主從同步不鎖表的實現(xiàn)過程”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對MySQL手動主從同步不鎖表的實現(xiàn)過程這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI