MySQL主從同步

主從同步原理

Master

  • 啟用binlog日志

Slave:

  • Slave_IO:復(fù)制master主機(jī) binlog日志文件里的SQL命令到本機(jī)的relay-log文件里峦睡。
  • Slave_SQL:執(zhí)行本機(jī)relay-log文件里的SQL語句,實(shí)現(xiàn)與Master數(shù)據(jù)一致缀拭。
構(gòu)建主從同步
master(master:192.168.1.11)-->slave(slave:192.168.1.12)
主從同步實(shí)現(xiàn)步驟:
主服務(wù)器
  • 啟用binlog日志
  • 授權(quán)用戶
  • 查看binlog日志信息
從服務(wù)器
  • 設(shè)置server_id
  • 確保與主服務(wù)器數(shù)據(jù)一致
  • 指定主庫信息
  • 啟動(dòng)slave程序
  • 查看狀態(tài)信息
準(zhǔn)備主服務(wù)器數(shù)據(jù)
[root@mysql1 ~]# mysql -uroot -p123456 < mysql_scripts/mydb_data.sql 
主服務(wù)器配置
# 修改配置文件
[root@mysql1 ~]# vim /etc/my.cnf
[mysqld]
server_id = 11
log-bin = master11
... ...

# 啟動(dòng)服務(wù)
[root@mysql1 ~]# systemctl restart mysqld

# 驗(yàn)證配置
[root@mysql1 ~]# ls /var/lib/mysql/master11.*
/var/lib/mysql/master11.000001  /var/lib/mysql/master11.index
[root@mysql1 ~]# mysql -uroot -p123456
mysql> show master status;
+-----------------+----------+--------------+------------------+-------------------+
| File            | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-----------------+----------+--------------+------------------+-------------------+
| master11.000001 |      154 |              |                  |                   |
+-----------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
# 如果日志不是master11.000001织阳,希望回到最初狀態(tài)眶蕉,可以執(zhí)行以下命令:

mysql> reset master;

# 授權(quán)輔助服務(wù)器可以同步數(shù)據(jù)
mysql> grant replication slave on *.* to repluser@'%' identified by '123456';
mysql> show grants for repluser@'%';
+--------------------------------------------------+
| Grants for repluser@%                            |
+--------------------------------------------------+
| GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'%' |
+--------------------------------------------------+
1 row in set (0.00 sec)
配置從服務(wù)器
  • 修改配置文件
[root@mysql2 ~]# vim /etc/my.cnf
[mysqld]
server_id = 12
... ...

[root@mysql2 ~]# systemctl restart mysqld
  • 如果主服務(wù)器上已有一段時(shí)間的數(shù)據(jù),需要將主服務(wù)器數(shù)據(jù)完全同步到從服務(wù)器唧躲。
# 主服務(wù)器備份數(shù)據(jù)
[root@mysql2 ~]# mysqldump -uroot -p123456 --master-data mydb > /root/fullbackup.sql

[root@mysql2 ~]# scp /root/fullbackup.sql 192.168.1.12:/root/

# 從服務(wù)器恢復(fù)數(shù)據(jù)
mysql> create database mydb default charset utf8mb4;
[root@mysql2 ~]# mysql -uroot -p123456 mydb < /root/fullbackup.sql

--master-data`的作用:如果完全備份完成后造挽,又有新的數(shù)據(jù)產(chǎn)生,它可記錄備份時(shí)的數(shù)據(jù)狀態(tài)信息弄痹。

    • 查看binlog日志名和偏移量
# 使用備份的方式同步主服務(wù)器數(shù)據(jù)饭入,在備份文件中查找
[root@mysql2 ~]# grep master11 fullbackup.sql
CHANGE MASTER TO MASTER_LOG_FILE='master11.000001', MASTER_LOG_POS=174149;

# 沒有進(jìn)行數(shù)據(jù)同步的,查看主服務(wù)器日志狀態(tài)
[root@mysql1 ~]# mysql -uroot -p123456
mysql> show master status;
+-----------------+----------+--------------+------------------+-------------------+
| File            | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-----------------+----------+--------------+------------------+-------------------+
| master11.000001 |   174149 |              |                  |                   |
+-----------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
  • 在從服務(wù)器上配置的主庫信息
[root@node30 ~]# mysql -uroot -p123456
mysql> change master to
    -> master_host="192.168.1.11",
    -> master_user="repluser",
    -> master_password=123456,
    -> master_log_file="master11.000001",
    -> master_log_pos=174149;
Query OK, 0 rows affected, 2 warnings (0.10 sec)

-- 啟動(dòng)slave程序

mysql> start slave;
Query OK, 0 rows affected (0.03 sec)
  • 驗(yàn)證:查看狀態(tài)信息
mysql> show slave status\G
... ...
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
... ...
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末肛真,一起剝皮案震驚了整個(gè)濱河市谐丢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蚓让,老刑警劉巖乾忱,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異历极,居然都是意外死亡窄瘟,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門趟卸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蹄葱,“玉大人氏义,你說我怎么就攤上這事⊥荚疲” “怎么了惯悠?”我有些...
    開封第一講書人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長琼稻。 經(jīng)常有香客問我,道長饶囚,這世上最難降的妖魔是什么帕翻? 我笑而不...
    開封第一講書人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮萝风,結(jié)果婚禮上嘀掸,老公的妹妹穿的比我還像新娘。我一直安慰自己规惰,他們只是感情好睬塌,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著歇万,像睡著了一般揩晴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上贪磺,一...
    開封第一講書人閱讀 51,541評(píng)論 1 305
  • 那天硫兰,我揣著相機(jī)與錄音,去河邊找鬼寒锚。 笑死劫映,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的刹前。 我是一名探鬼主播泳赋,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼喇喉!你這毒婦竟也來了祖今?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤拣技,失蹤者是張志新(化名)和其女友劉穎衅鹿,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體过咬,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡大渤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了掸绞。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片泵三。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡耕捞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出烫幕,到底是詐尸還是另有隱情俺抽,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布较曼,位于F島的核電站磷斧,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏捷犹。R本人自食惡果不足惜弛饭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望萍歉。 院中可真熱鬧侣颂,春花似錦、人聲如沸枪孩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蔑舞。三九已至拒担,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間攻询,已是汗流浹背澎蛛。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蜕窿,地道東北人谋逻。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像桐经,于是被迫代替她去往敵國和親毁兆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容