前言
最近在做項目高可用時,需要使用數據同步。由于只有雙節點,且采用主主同步可能存在循環同步的風險,故綜合考慮采用Mysql主從同步(Master-Slave同步)。
可能沒有接觸過Mysql數據同步時,可能會覺得數據同步很難,但你按照如下操作一遍之后,會發現原來同步如此簡單,畢竟我們只需要會配置,會排查問題,底層具體實現Mysql團隊早幫忙實現了。
廢話不多說,直入話題:
(1)首先,保證有兩臺設備(主、從),分別在兩臺設備上安裝Mysql數據庫。安裝完成之后,
使用mysql -u[數據庫用戶名] -p[用戶密碼],若能夠登陸mysql則表示安裝成功。
(2)編輯mysql配置文件,路徑一般為/etc/mysql/mysql.conf.d/mysqld.cnf(用戶在安裝Mysql時指定的目錄,
如:/etc/my.conf等)。分別按要求在主、從mysql中的[mysqld]模塊下添加如下內容:
[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=[需要同步的數據庫名稱]
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連接主、從服務器,mysql -u[數據庫用戶名] -p[用戶密碼],分別登錄到主、從節點mysql,創建同步用戶repl,執行如下命令:
grant all privileges on *.* to 'repl'@'%' identified by 'repl' with grant option;
然后exit退出Mysql操作頁,重新啟動Mysql服務,命令如下:
systemctl restart mysql.service
然后進入主節點Mysql,查看Mysql的File列和Positon列。執行命令:show master status;
出現結果如下
(4)登錄到從服務器,mysql -u[數據庫用戶名] -p[用戶密碼]進入Mysql,執行:
stop slave;
reset slave;
change master to master_host='[主節點IP]',master_user='repl',master_password='repl',master_log_file='[mysql-bin.000001,參考(3)中的File列]',master_log_pos=[245,參考(3)中的Postion列];
exit;
執行systemctl restart mysql.service
重啟Mysql服務。
(5)啟動從服務器slave庫,mysql -u[數據庫用戶名] -p[用戶密碼]進入從節點Mysql,執行如下命令:
執行:show slave status\G;
查看備份服務狀態。如果以下兩個狀態為Yes則表示主從同步成功。

接下來,大家就可以嘗試向主數據庫中插入一條數據,看是夠從數據庫中會自動增加該條數據,是不是有點小激動呢?趕緊測試下吧。
PS:若出現無法同步問題?
(1)請查看上圖中Master_Log_File屬性、Read_Master_Log_Pos屬性與主節點查詢結果是否一致。
(2)可能是從數據庫連接主數據庫超時,去吧連接延時改大一點吧。
(3)如果上述無法解決,請查看mysql日志排查原因。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。
您可能感興趣的文章:- MySQL 主從同步,事務回滾的實現原理
- MySQL數據庫主從同步實戰過程詳解
- MySQL主從同步中的server-id示例詳解
- MySQL主從同步延遲的原因及解決辦法
- MySQL主從同步機制與同步延時問題追查過程
- MySQL數據庫的主從同步配置與讀寫分離
- Mysql主從同步Last_IO_Errno:1236錯誤解決方法
- Mysql主從同步的實現原理
- 詳解Mysql主從同步配置實戰
- 詳解windows下mysql的主從同步
- 詳解MySQL數據庫設置主從同步的方法
- Mysql數據庫的主從同步配置