Centos7系統(tǒng)下Mysql主從同步配置方案
前言
最近在做項(xiàng)目高可用時(shí),需要使用數(shù)據(jù)同步。由于只有雙節(jié)點(diǎn),且采用主主同步可能存在循環(huán)同步的風(fēng)險(xiǎn),故綜合考慮采用Mysql主從同步(Master-Slave同步)。
可能沒有接觸過Mysql數(shù)據(jù)同步時(shí),可能會(huì)覺得數(shù)據(jù)同步很難,但你按照如下操作一遍之后,會(huì)發(fā)現(xiàn)原來同步如此簡(jiǎn)單,畢竟我們只需要會(huì)配置,會(huì)排查問題,底層具體實(shí)現(xiàn)Mysql團(tuán)隊(duì)早幫忙實(shí)現(xiàn)了。
廢話不多說,直入話題:
(1)首先,保證有兩臺(tái)設(shè)備(主、從),分別在兩臺(tái)設(shè)備上安裝Mysql數(shù)據(jù)庫。安裝完成之后,
使用mysql -u[數(shù)據(jù)庫用戶名] -p[用戶密碼],若能夠登陸mysql則表示安裝成功。
(2)編輯mysql配置文件,路徑一般為/etc/mysql/mysql.conf.d/mysqld.cnf(用戶在安裝Mysql時(shí)指定的目錄,
如:/etc/my.conf等)。分別按要求在主、從mysql中的[mysqld]模塊下添加如下內(nèi)容:
[mysqld] default-storage-engine=innodb innodb_file_per_table=1 collation-server=uft8_general_ci init-connect='SET NAMES uft8' bind-address=0.0.0.0 log_bin=mysql-bin relay_log=mysql-relay-bin expire_logs_days=100 skip-slave-start=1 binlog_do_db=[需要同步的數(shù)據(jù)庫名稱] binlog-ignore-db=mysql,sys,information_schema,performance_schema server-id=[主填寫1,從填寫2] auto-increment-increment=2 auto-increment-offset=1 open_files_limit=65535 mac_connections=1000 slave-skip-errors=all
(3)shell連接主、從服務(wù)器,mysql -u[數(shù)據(jù)庫用戶名] -p[用戶密碼],分別登錄到主、從節(jié)點(diǎn)mysql,創(chuàng)建同步用戶repl,執(zhí)行如下命令:
grant all privileges on *.* to 'repl'@'%' identified by 'repl' with grant option;
然后exit退出Mysql操作頁,重新啟動(dòng)Mysql服務(wù),命令如下:
systemctl restart mysql.service
然后進(jìn)入主節(jié)點(diǎn)Mysql,查看Mysql的File列和Positon列。執(zhí)行命令:show master status;出現(xiàn)結(jié)果如下
(4)登錄到從服務(wù)器,mysql -u[數(shù)據(jù)庫用戶名] -p[用戶密碼]進(jìn)入Mysql,執(zhí)行:
stop slave; reset slave; change master to master_host='[主節(jié)點(diǎn)IP]',master_user='repl',master_password='repl',master_log_file='[mysql-bin.000001,參考(3)中的File列]',master_log_pos=[245,參考(3)中的Postion列]; exit;
執(zhí)行systemctl restart mysql.service重啟Mysql服務(wù)。
(5)啟動(dòng)從服務(wù)器slave庫,mysql -u[數(shù)據(jù)庫用戶名] -p[用戶密碼]進(jìn)入從節(jié)點(diǎn)Mysql,執(zhí)行如下命令:
start slave;
執(zhí)行:show slave status\G;查看備份服務(wù)狀態(tài)。如果以下兩個(gè)狀態(tài)為Yes則表示主從同步成功。

接下來,大家就可以嘗試向主數(shù)據(jù)庫中插入一條數(shù)據(jù),看是夠從數(shù)據(jù)庫中會(huì)自動(dòng)增加該條數(shù)據(jù),是不是有點(diǎn)小激動(dòng)呢?趕緊測(cè)試下吧。
PS:若出現(xiàn)無法同步問題?
(1)請(qǐng)查看上圖中Master_Log_File屬性、Read_Master_Log_Pos屬性與主節(jié)點(diǎn)查詢結(jié)果是否一致。
(2)可能是從數(shù)據(jù)庫連接主數(shù)據(jù)庫超時(shí),去吧連接延時(shí)改大一點(diǎn)吧。
(3)如果上述無法解決,請(qǐng)查看mysql日志排查原因。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。
- MySQL 主從同步,事務(wù)回滾的實(shí)現(xiàn)原理
- MySQL數(shù)據(jù)庫主從同步實(shí)戰(zhàn)過程詳解
- MySQL主從同步中的server-id示例詳解
- MySQL主從同步延遲的原因及解決辦法
- MySQL主從同步機(jī)制與同步延時(shí)問題追查過程
- MySQL數(shù)據(jù)庫的主從同步配置與讀寫分離
- Mysql主從同步Last_IO_Errno:1236錯(cuò)誤解決方法
- Mysql主從同步的實(shí)現(xiàn)原理
- 詳解Mysql主從同步配置實(shí)戰(zhàn)
- 詳解windows下mysql的主從同步
- 詳解MySQL數(shù)據(jù)庫設(shè)置主從同步的方法
- Mysql數(shù)據(jù)庫的主從同步配置
相關(guān)文章
MySQL中 and or 查詢的優(yōu)先級(jí)分析
這個(gè)可能是容易被忽略的問題,首選我們要清楚,MySQL中,AND的執(zhí)行優(yōu)先級(jí)高于OR。也就是說,在沒有小括號(hào)()的限制下,總是優(yōu)先執(zhí)行AND語句,再執(zhí)行OR語句2021-03-03
MySQL通過自定義函數(shù)實(shí)現(xiàn)遞歸查詢父級(jí)ID或者子級(jí)ID
這篇文章主要介紹了MySQL通過自定義函數(shù)實(shí)現(xiàn)遞歸查詢父級(jí)ID或者子級(jí)ID,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11
在Linux環(huán)境下mysql的root密碼忘記解決方法(三種)
這篇文章主要介紹了在Linux環(huán)境下mysql的root密碼忘記解決方法,詳細(xì)的介紹了3種解決辦法,具有一定的參考價(jià)值,有興趣的可以了解一下。2016-12-12

