mysql主從配置

環(huán)境準(zhǔn)備:

  • 兩個相同版本的mysql實(shí)例
    • 10.230.20.101/10.230.20.102(mysql 5.7)

操作步驟

  • 添加復(fù)制專用的賬號
    在主服務(wù)器上渔呵,設(shè)置一個復(fù)制使用的賬戶荧库,并授予 REPLICATION SLAVE 權(quán)限拣帽。這里 創(chuàng)建一個復(fù)制用戶 rep01
 mysql> GRANT REPLICATION SLAVE ON *.* TO 'rep01'@'%' IDENTIFIED BY 'Abc@12345678'; 
        Query OK, 0 rows affected (0.00 sec)
  • 開啟binlog
    修改主數(shù)據(jù)庫服務(wù)器的配置文件 my.cnf,開啟 BINLOG玲躯,并設(shè)置 server-id 的值据德。這 兩個參數(shù)的修改需要重新啟動數(shù)據(jù)庫服務(wù)才可以生效。
mysql> system vim /etc/my.cnf
server-id=101
log-bin=mysql-bin-log
innodb_flush_log_at_trx_commit=1
sync_binlog=1
  • 阻止commit操作
 FLUSH TABLES WITH READ LOCK;
  • 使用mysqldump對主庫進(jìn)行備份
mysqldump -uroot -p --single-transaction --flush-logs -R -E   --databases DB_NAME --set-gtid-purged=off --master-data=2  >/root/backup-`date +%F-%H-%M-%S`.sql
  • 釋放鎖
UNLOCK TABLES;
  • 在備庫上使用dump文件進(jìn)行恢復(fù)
mysql -uroot -p < *.sql
  • 根據(jù)dump中的binlog文件和position跷车,設(shè)置從服務(wù)器的主節(jié)點(diǎn)信息
mysql> CHANGE MASTER TO
    -> MASTER_HOST='10.230.20.101',
    -> MASTER_PORT=3306,
    -> MASTER_USER='rep01',
    -> MASTER_PASSWORD='Abc@12345678',
    -> MASTER_LOG_FILE='mysql-bin-log.000005',
    -> MASTER_LOG_POS=5208;
Query OK, 0 rows affected, 2 warnings (0.03 sec)
  • 開始同步
mysql> start slave;
Query OK, 0 rows affected (0.01 sec)
  • 在從節(jié)點(diǎn)上使用showprocesslist命令查看
mysql> show processlist;
+----+-------------+-----------+------+---------+------+--------------------------------------------------------+------------------+
| Id | User        | Host      | db   | Command | Time | State                                                  | Info             |
+----+-------------+-----------+------+---------+------+--------------------------------------------------------+------------------+
|  4 | root        | localhost | NULL | Query   |    0 | starting                                               | show processlist |
|  6 | system user |           | NULL | Connect |   70 | Slave has read all relay log; waiting for more updates | NULL             |
+----+-------------+-----------+------+---------+------+--------------------------------------------------------+------------------+
2 rows in set (0.00 sec)

這表明 slave 已經(jīng)連接上 master棘利,并開始接受并執(zhí)行日志。

  • 驗(yàn)證朽缴,在主節(jié)點(diǎn)操作善玫,從節(jié)點(diǎn)驗(yàn)證

其他配置:


  • skip-slave-start
    跳過同步啟動從庫

  • log-slave-updates
    這個參數(shù)用來配置從服務(wù)器上的更新操作是否寫二進(jìn)制日志,默認(rèn)是不打 開的密强。但是茅郎,如果這個從服務(wù)器同時也要作為其他服務(wù)器的主服務(wù)器,搭建一個鏈?zhǔn)降膹?fù)制或渤, 那么就需要打開這個選項(xiàng)系冗,這樣它的從服務(wù)器將獲得它的二進(jìn)制日志以進(jìn)行同步操作。 這個啟動參數(shù)需要和--logs-bin 參數(shù)一起使用薪鹦。

  • master-connect-retry
    master-connect-retry 這個參數(shù)用來設(shè)置在和主服務(wù)器的連接丟失的時候掌敬,重試的時間間隔惯豆, 默認(rèn)是 60 秒,即每 60 秒重試一次奔害。
  • read-only
    read-only 該參數(shù)用來設(shè)置從服務(wù)器只能接受超級用戶的更新操作楷兽,從而限制應(yīng)用程序錯誤 的對從服務(wù)器的更新操作。

  • replicate-do-db
  • replicate-do-table
  • replicate-ignore-db
  • replicate-ignore-table
  • replicate-wild-do-table
    指定從主數(shù)據(jù)庫復(fù)制到從數(shù)據(jù)庫的數(shù)據(jù)庫或者表华临。有些時候用戶只 需要將關(guān)鍵表備份到從服務(wù)器上拄养,或者只需要將提供查詢操作的表復(fù)制到從服務(wù)器上,這樣 就可以通過配置這幾個參數(shù)來篩選進(jìn)行同步的數(shù)據(jù)庫和表银舱。

slave-skip-errors
在復(fù)制過程中,由于各種原因跛梗,從服務(wù)器可能會遇到執(zhí)行 BINLOG 中的 SQL 出錯的情況(比 如主鍵沖突)寻馏,默認(rèn)情況下,從服務(wù)器將會停止復(fù)制進(jìn)程核偿,不再進(jìn)行同步诚欠,等待用戶介入處 理。這種問題如果不能及時發(fā)現(xiàn)漾岳,將會對應(yīng)用或者備份產(chǎn)生影響轰绵。此參數(shù)的作用就是用來定 義復(fù)制過程中從服務(wù)器可以自動跳過的錯誤號,這樣當(dāng)復(fù)制過程中遇到定義中的錯誤號時尼荆, 便可以自動跳過左腔,直接執(zhí)行后面的 SQL 語句,以此來最大限度地減少人工干預(yù)捅儒。此參數(shù)可 以定義多個錯誤號液样,或者通過定義成 all 跳過全部的錯誤。具體語法如下:
--slave-skip-errors=[err_code1,err_code2,... | all]
如果從數(shù)據(jù)庫主要是作為主數(shù)據(jù)庫的備份巧还,那么就不應(yīng)該使用這個啟動參數(shù)鞭莽,設(shè)置不當(dāng),很 可能造成主從數(shù)據(jù)庫的數(shù)據(jù)不同步麸祷。但是澎怒,如果從數(shù)據(jù)庫僅僅是為了分擔(dān)主數(shù)據(jù)庫的查詢壓 力,且對數(shù)據(jù)的完整性要求不是很嚴(yán)格阶牍,那么這個選項(xiàng)的確可以減輕數(shù)據(jù)庫管理員維護(hù)從數(shù) 據(jù)庫的工作量喷面。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市走孽,隨后出現(xiàn)的幾起案子乖酬,更是在濱河造成了極大的恐慌,老刑警劉巖融求,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件咬像,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)县昂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進(jìn)店門肮柜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人倒彰,你說我怎么就攤上這事审洞。” “怎么了待讳?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵芒澜,是天一觀的道長。 經(jīng)常有香客問我创淡,道長痴晦,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任琳彩,我火速辦了婚禮誊酌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘露乏。我一直安慰自己碧浊,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布瘟仿。 她就那樣靜靜地躺著箱锐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪劳较。 梳的紋絲不亂的頭發(fā)上瑞躺,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天,我揣著相機(jī)與錄音兴想,去河邊找鬼幢哨。 笑死,一個胖子當(dāng)著我的面吹牛嫂便,可吹牛的內(nèi)容都是我干的捞镰。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼毙替,長吁一口氣:“原來是場噩夢啊……” “哼岸售!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起厂画,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤凸丸,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后袱院,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體屎慢,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡瞭稼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了腻惠。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片环肘。...
    茶點(diǎn)故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖集灌,靈堂內(nèi)的尸體忽然破棺而出悔雹,到底是詐尸還是另有隱情,我是刑警寧澤欣喧,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布腌零,位于F島的核電站,受9級特大地震影響唆阿,放射性物質(zhì)發(fā)生泄漏益涧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一酷鸦、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧牙咏,春花似錦臼隔、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至丁寄,卻和暖如春氨淌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背伊磺。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工盛正, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人屑埋。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓豪筝,卻偏偏與公主長得像,于是被迫代替她去往敵國和親摘能。 傳聞我的和親對象是個殘疾皇子续崖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評論 2 355

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