Linux下mysql主從同步詳細配置

[toc]

Linux下mysql主從同步詳細配置

1.環(huán)境準備

準備兩臺服務器逗柴,一臺主服務器(Master),另一臺從服務器(Slave)院水,然后要保證Master與Slave的版本要相同且Master不能高于Slave的版本入蛆,一般穩(wěn)健的做法都是使其版本相同归敬,因為MySQL不同版本之間的binlog(二進制日志)格式可能會不一樣酷含,最后會導致同步出現(xiàn)異常。

介紹先到這里汪茧,以下我們先確認兩臺服務器的信息:

  • 主服務器(master)
IP:10.16.195.49
系統(tǒng):Linux(redhat centos7 64)
mysql版本:8.0.17
同步數(shù)據(jù)庫:model_slave
同步帳號:model_slave
同步密碼:slave123
  • 從服務器(slave)兩臺
IP:10.16.195.50/10.16.195.51
系統(tǒng):Linux(redhat centos7 64)
mysql版本:8.0.17
同步數(shù)據(jù)庫:model_slave

2.master服務器配置

1.修改主服務器配置文件

sudo vim /etc/my.cnf

[mysqld]
# 新增如下
server-id=1
log_bin=/data/mysql/mysql-bin.log
expire_logs_days=10
max_binlog_size=100M
binlog_do_db=myslave  # 如果需要同時同步多個數(shù)據(jù)庫椅亚,請另起一行設置binlog_do_db=需要同步的數(shù)據(jù)庫名稱
binlog_ignore_db=mysql  # 不想同步的數(shù)據(jù)庫

2.保存退出,重啟服務

service mysql restart

如果啟動失敗舱污,通過查看mysql啟動失敗的日志呀舔,從日志內(nèi)容尋找解決方案。

cat /data/mysql/mysql.log | tail -30  

3.查看并記住master當前二進制名和偏移量。

這個操作的目的是為了在從數(shù)據(jù)庫啟動后媚赖,從這個點開始進行數(shù)據(jù)的恢復霜瘪。

mysql> show master status;
+---------------+----------+--------------+------------------+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------+----------+--------------+------------------+
| mysql-bin.000002 |     155 | model_slave         |mysql                  |
+---------------+----------+--------------+------------------+
1 row in set (0.00 sec)

4.新建用于查看的mysql帳號

mysql>
create user 'model_slave'@'%' identified by 'slave';
grant replication slave on *.* to 'model_slave'@'%';

3.slave服務器配置

1.修改從服務器配置

sudo vim /etc/my.cnf

[mysqld]
server-id=2
master-host=192.168.8.10
master-user=rep1
master-password=test123456
master-port=3306
replicate-do-db=cmdb

2.重啟從服務器

service mysql restart

此時報錯:mysqld: unknown variable ‘master-host=

原因是mysql5.5+版本主從復制不支持這些變量,需要在從庫上用命令來設置:

mysql> CHANGE MASTER TO MASTER_HOST='192.168.8.10',
  MASTER_PORT=3306,
  MASTER_USER='rep1',
  MASTER_PASSWORD='test123456',
  MASTER_LOG_FILE='mysql-bin.000002',
  MASTER_LOG_POS=155;  # 后面兩個參數(shù)的值與主庫保持一致

注意惧磺,server-id仍然需要在配置文件中配置颖对,不然會和master一致,無法開啟主從磨隘。

3.啟動slave

mysql> slave start;
Query OK, 0 rows affected (0.04 sec)

4.查看slave的狀態(tài)

show slave status\G;

如果這兩項為yes缤底,則表示成功:

Slave_IO_Running: Yes
Slave_SQL_Running: Yes
image-20200317204300268

5.如果有第二臺或更多從庫,配置操作同樣番捂,唯一注意的是配置文件中的server-id需要保持不同个唧。

3.同步主庫已有數(shù)據(jù)到從庫

主庫操作:

1.停止主庫數(shù)據(jù)更新操作

mysql>flush tables with read lock;

2.新開終端,生成主數(shù)據(jù)庫的備份(導出數(shù)據(jù)庫)

  • -–master-data:保證在dump時會記錄到binlog名稱和偏移值

  • -–lock-all-tables:為了數(shù)據(jù)在導出的時候沒有其它新數(shù)據(jù)插入设预,保證一致性

mysqldump –master-data=1 –lock-all-tables=true -uroot -pmysql123 model_slave > /home/model_slave_bak_20200317.sql

3.將備份文件傳到從庫

scp cmdb.sql gz_admin@10.16.195.50:/home/

4徙歼、主庫解鎖

mysql>unlock tables;

從庫操作:

1.停止從庫slave

mysql>slave stop;

2.新建數(shù)據(jù)庫model_slave

mysql> create database model_slave charset=utf8;

3、導入數(shù)據(jù)

[gz_admin@ops-dev ~]$ mysql -uroot -pmysql123 model_slave</home/model_slave_bak_20200317.sql

mysql> use myslave;
mysql> source /home/model_slave_bak_20200317.sql;

4鳖枕、查看從庫已有該數(shù)據(jù)庫和數(shù)據(jù)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| model_slave        |
| mysql              |
| performance_schema |
| test               |
+--------------------+

4.測試同步

1.在master中插入一條數(shù)據(jù)

mysql> use model_slave;
mysql> INSERT INTO users(id,name,info) VALUES(1, "jack","handsom");

2.插入成功之后魄梯,稍等片刻,就可以在Slave服務器上查看到相同記錄.

不成功耕魄,仔細再檢查一些配置文檔。

3.查看當前Slave服務器的同步狀態(tài)及偏移值等信息

more /var/lib/mysql/master.info

查看Slave執(zhí)行binlog文件的情況

more /var/lib/mysql/relay-log.info

5.常見問題

1.問題現(xiàn)象

啟動slave彭谁,查看slave狀態(tài)吸奴,發(fā)現(xiàn)報錯。

有個錯誤IO線程在連接中, 還有一個問題就是:

Last_IO_Errno: 2061
Last_IO_Error: error connecting to master 'root@192.168.0.10:3306' - retry-time: 60 retries: 1 message: Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection.

2.原因

加密方式和解密方式不一致缠局,修改密碼加密規(guī)則.進入mysql控制臺

ALTER USER 'model_slave'@'%' IDENTIFIED WITH mysql_native_password BY 'slave123';
FLUSH PRIVILEGES;

3.拋出另一個問題

Last_IO_Errno: 13117
Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).

4.解決方法:重啟mysql服務

service mysql restart

5.進入mysql则奥,重啟slave

mysql -u root -p
start slave
show slave status\G;

成功!

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末狭园,一起剝皮案震驚了整個濱河市读处,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌唱矛,老刑警劉巖罚舱,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異绎谦,居然都是意外死亡管闷,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門窃肠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來包个,“玉大人,你說我怎么就攤上這事冤留”棠遥” “怎么了树灶?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長糯而。 經(jīng)常有香客問我天通,道長,這世上最難降的妖魔是什么歧蒋? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任土砂,我火速辦了婚禮,結果婚禮上谜洽,老公的妹妹穿的比我還像新娘萝映。我一直安慰自己,他們只是感情好阐虚,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布序臂。 她就那樣靜靜地躺著,像睡著了一般实束。 火紅的嫁衣襯著肌膚如雪奥秆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天咸灿,我揣著相機與錄音构订,去河邊找鬼。 笑死避矢,一個胖子當著我的面吹牛悼瘾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播审胸,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼亥宿,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了砂沛?” 一聲冷哼從身側(cè)響起烫扼,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎碍庵,沒想到半個月后映企,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡静浴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年卑吭,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片马绝。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡豆赏,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情掷邦,我是刑警寧澤白胀,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站抚岗,受9級特大地震影響或杠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜宣蔚,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一向抢、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧胚委,春花似錦挟鸠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至硅急,卻和暖如春覆享,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背营袜。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工撒顿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人荚板。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓凤壁,卻偏偏與公主長得像,于是被迫代替她去往敵國和親啸驯。 傳聞我的和親對象是個殘疾皇子客扎,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355

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