MySQL主從同步(復(fù)制)操作實(shí)戰(zhàn)記錄
首先得有2臺(tái)服務(wù)器,其中一臺(tái)上的MySQL為主庫,另外一臺(tái)上的MySQL為從庫
主庫操作
1、修改配置
# Master - 主從同步設(shè)置,需要開記binlog server-id = 1 # 要唯一 # bin log 位置 log_bin = /var/lib/mysql/mysql-bin
重啟 MySQL 讓配置生效
2、創(chuàng)建用于從庫登陸的用戶
# 創(chuàng)建用戶 CREATE USER 'slave1'@'x.x.x.x' IDENTIFIED BY 'password'; # 賦予用戶slave1復(fù)制權(quán)限 GRANT REPLICATION SLAVE ON *.* TO 'slave1'@'x.x.x.x';
x.x.x.x是從庫服務(wù)器IPslave1可以改成自己喜歡的名稱password設(shè)置你喜歡的登陸密碼
3、將數(shù)據(jù)導(dǎo)出
- 鎖表-只讀
FLUSH TABLES WITH READ LOCK;
- 顯示 master 信息
SHOW MASTER STATUS;

記住紅色位置的內(nèi)容,從庫需要用到
- 將數(shù)據(jù)導(dǎo)出
mysqldump -u root -p --all-databases --master-data > dbdump.sql
- 解開表(可讀可寫)
UNLOCK TABLES;
4、將dbdump.sql文件發(fā)送到從庫的主機(jī)上
以你喜歡的方式就行,能傳到從庫的主機(jī)就行
從庫操作
1、修改配置
# slave - 主從同步設(shè)置,需要開記binlog server-id = 2 # 要唯一 # binlog 位置 log_bin = /var/lib/mysql/mysql-bin
重啟 MySQL 讓配置生效
2、導(dǎo)入從主庫第三步導(dǎo)出的數(shù)據(jù)
mysql -u root -p < /home/ubuntu/dbdump.sql
3、建立與主庫的連接
- 停止復(fù)制狀態(tài)
STOP SLAVE;
- 與主庫建立連接,從而同步
CHANGE MASTER TO MASTER_HOST='b.b.b.b', MASTER_PORT=8036, MASTER_USER='slave1', MASTER_PASSWORD='sync900966', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=3784;
MASTER_HOST - 主庫服務(wù)器IPMASTER_USER - 主庫操作第二步設(shè)置的用戶MASTER_PASSWORD - 主庫操作第二步設(shè)置的密碼MASTER_LOG_FILE - 主庫操作第三步 master 信息 - FileMASTER_LOG_POS - 主庫操作第三步 master 信息 - Position
至此不出意數(shù)據(jù)應(yīng)該可以同步了
主從復(fù)制有三種同步方式
- 異步復(fù)制:主庫執(zhí)行完事務(wù)后,不等待從同庫確認(rèn),這是默認(rèn)的
- 半異步復(fù)制:主庫執(zhí)行完事務(wù)后,至少等到有一個(gè)從同庫確認(rèn)
- 同步復(fù)制:主庫執(zhí)行完事務(wù)后,等到所有從同庫確認(rèn)
問題排查
- 不要使用域名,我剛開始使用域名,結(jié)果同步不了
- 在主庫授予登陸IP要和從庫IP一致
- server-id 從庫與主庫不能相同且要唯一
可能用到命令
- 查看從服務(wù)器(Slave)復(fù)制狀態(tài)
SHOW SLAVE STATUS;
如果正常的話
Slave_IO_State: Waiting for master to send event,如果有錯(cuò)誤,也會(huì)在這個(gè)字段提示
xxx_xx_Running 這幾個(gè)字段正常是 Yes
- 查看主服務(wù)器(Master)狀態(tài)
SHOW MASTER STATUS;
- 停止復(fù)制線程
STOP SLAVE;
- 啟動(dòng)復(fù)制線程
START SLAVE;
- 顯示線程列表
SHOW PROCESSLIST;
總結(jié)
到此這篇關(guān)于MySQL主從同步(復(fù)制)操作的文章就介紹到這了,更多相關(guān)MySQL主從同步(復(fù)制)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Windows?Server?2012下安裝MYSQL5.7.24的問題
這篇文章主要介紹了Windows?Server?2012下安裝MYSQL5.7.24的詳細(xì)過程,本文通過圖文并茂實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02
MySQL學(xué)習(xí)之日期函數(shù)的用法詳解
本文將學(xué)習(xí)MySQL的日期函數(shù),在前面章節(jié)的練習(xí)中,我們就利用過NOW()函數(shù)來獲取過當(dāng)前系統(tǒng)時(shí)間,用DATEDIFF函數(shù)來計(jì)算日期相差的天數(shù),接下來我們就系統(tǒng)的學(xué)習(xí)一下 日期函數(shù)2022-08-08
mysql實(shí)現(xiàn)隨機(jī)查詢經(jīng)驗(yàn)談
官方文檔中進(jìn)行說明:Order By和RAND()連用,會(huì)多次掃描表,導(dǎo)致速度變慢,下面看下一些測試詳解2013-10-10

