MariaDB配置雙主復制方案

 更新時間:2017年03月12日 10:14:34   作者:pupboss   我要評論
MySQL復制中較常見的復制架構有“一主一從”、“一主多從”、“雙主”、“多級復制”和“多主環形機構”等,今天我們來詳細探討下MariaDB配置雙主復制的方案

本文環境

Debian 8

MariaDB 10.1.21

配置文件 1

修改服務器 1 上 mysql 配置文件 /etc/mysql/my.cnf

有些配置默認就存在的,如果你有潔癖,請先搜索,再添加配置項。

[mysqld]
server-id        = 1 
log_bin         = /var/log/mysql/mariadb-bin 
log_bin_index      = /var/log/mysql/mariadb-bin.index 
binlog-do-db        = tudou1 #需要同步的數據庫,這里同步tudou1和tudou2兩個數據庫 
binlog-do-db        = tudou2 
binlog-ignore-db     = mysql #忽略同步的數據庫 
log_slave_updates               #把從庫的寫操作記錄到binlog中 (缺少之后,雙主創建失敗) 
expire_logs_days  = 365         #日志文件過期天數,默認是 0,表示不過期 
auto_increment_increment= 2       #設定為主服務器的數量,防止auto_increment字段重復 
auto_increment_offset  = 1       #自增長字段的初始值,在多臺master環境下,不會出現自增長ID重復

配置文件 2

[mysqld]
[mysqld]
server-id        = 2 
log_bin         = /var/log/mysql/mariadb-bin 
log_bin_index      = /var/log/mysql/mariadb-bin.index 
binlog-do-db      = tudou1 #需要同步的數據庫,這里同步tudou1和tudou2兩個數據庫 
binlog-do-db      = tudou2 
binlog-ignore-db     = mysql #忽略同步的數據庫 
log_slave_updates               #把從庫的寫操作記錄到binlog中 (缺少之后,雙主創建失敗) 
expire_logs_days  = 365         #日志文件過期天數,默認是 0,表示不過期 
auto_increment_increment= 2       #設定為主服務器的數量,防止auto_increment字段重復 
auto_increment_offset  = 2       #自增長字段的初始值,在多臺master環境下,不會出現自增長ID重復

注意:

log slave updates 表示把從庫的寫操作記錄到binlog中,缺少之后,雙主創建失敗。雙主同步時該項必須有

binlog-do-db 需要同步的數據庫,可寫多個

binlog-ignore-db 表示忽略同步的數據庫

創建同步賬戶

// 服務器 1

GRANT REPLICATION SLAVE ON *.* TO 'repuser'@'server-2' IDENTIFIED BY 'repuser'; 
FLUSH PRIVILEGES;

// 服務器 2
GRANT REPLICATION SLAVE ON *.* TO 'repuser'@'server-1' IDENTIFIED BY 'repuser'; 
FLUSH PRIVILEGES;

可以順便在另一臺服務器測試能不能登錄,如果不能,把 bind-address 那行注釋掉即可。

$ mysql -urepuser -prepuser -hserver-1

查看 master 狀態

服務器 1 中

MariaDB [mysql]> show master status; 
+--------------------+----------+--------------+------------------+
| File        | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+--------------------+----------+--------------+------------------+
| mariadb-bin.000514 |   639 | xxxxxxxx   | mysql      |
+--------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

服務器 2 中

MariaDB [mysql]> show master status; 
+--------------------+----------+--------------+------------------+
| File        | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+--------------------+----------+--------------+------------------+
| mariadb-bin.000006 |   1057 | xxxxxxxx   | mysql      |
+--------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

設置同步

// 服務器 2

MariaDB [mysql]> CHANGE MASTER TO MASTER_HOST='server-1',MASTER_PORT=3306,MASTER_USER='repuser',MASTER_PASSWORD='repuser',MASTER_LOG_FILE='mariadb-bin.000514',MASTER_LOG_POS=639;

MariaDB [mysql]> START SLAVE;

// 服務器 1

MariaDB [mysql]> CHANGE MASTER TO MASTER_HOST='server-2',MASTER_PORT=3306,MASTER_USER='repuser',MASTER_PASSWORD='repuser',MASTER_LOG_FILE='mariadb-bin.000006',MASTER_LOG_POS=1057;

MariaDB [mysql]> START SLAVE;

// 完畢之后,分別執行

MariaDB [mysql]> SHOW SLAVE STATUS\G

如出現以下兩項,則說明配置成功!

Slave_IO_Running: Yes
      Slave_SQL_Running: Yes


雙主同步測試

在服務器 1 數據庫中創建一個表,看看服務器 2 會不會出現,按照上面教程,如果沒問題的話,就是可以同步的。

相關文章

  • MariaDB配置雙主復制方案

    MariaDB配置雙主復制方案

    MySQL復制中較常見的復制架構有“一主一從”、“一主多從”、“雙主”、“多級復制”和“多主環形機構”等,今天我們來詳細探討下MariaDB配置雙主復制的方案
    2017-03-03
  • MariaDB中的thread pool詳細介紹和使用方法

    MariaDB中的thread pool詳細介紹和使用方法

    這篇文章主要介紹了MariaDB中的thread pool詳細介紹和使用方法,thread pool對高并發的環境是很好的一個解決方法,需要的朋友可以參考下
    2014-07-07
  • centos 7安裝mysql5.5和安裝 mariadb使用的命令

    centos 7安裝mysql5.5和安裝 mariadb使用的命令

    以前的Linux系統中數據庫大部分是mysql,不過自從被sun收購之后,就沒用集成在centos這些開源Linux系統中了,那么如果想用的話就需要自己安裝了,在安裝過程中肯定會用到些命令,下面通過本篇文章給大家介紹centos 7安裝mysql5.5和安裝 mariadb使用的命令
    2015-09-09
  • Centos7 下mysql重新啟動MariaDB篇

    Centos7 下mysql重新啟動MariaDB篇

    這篇文章主要給大家介紹了在Centos7 下mysql重新啟動MariaDB的相關資料,文中介紹的非常詳細,對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • MariaDB性能調優工具mytop的使用詳解

    MariaDB性能調優工具mytop的使用詳解

    這篇文章主要給大家介紹了關于MariaDB性能調優工具mytop的使用,文中介紹的非常詳細,對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • Exchange在接收連接器上啟用匿名中繼的方法

    Exchange在接收連接器上啟用匿名中繼的方法

    這篇文章主要介紹了Exchange在接收連接器上啟用匿名中繼的方法,需要的朋友可以參考下
    2018-08-08
  • centos 7下安裝mysql(MariaDB)的教程

    centos 7下安裝mysql(MariaDB)的教程

    這篇文章主要為大家詳細介紹了centos 7下安裝mysql(MariaDB)的詳細教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Mac中MariaDB數據庫的安裝步驟

    Mac中MariaDB數據庫的安裝步驟

    大家都知道MariaDB數據庫管理系統是MySQL的一個分支,主要由開源社區在維護,采用GPL授權許可MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能輕松成為MySQL的代替品。這篇文章我們將詳細介紹在Mac中安裝MariaDB數據庫的步驟,有需要可以參考學習。
    2016-09-09
  • mariadb 在低配 VPS 上崩潰問題處理方案

    mariadb 在低配 VPS 上崩潰問題處理方案

    本文給大家分享的是mariadb 在低配 VPS 上啟動時崩潰問題的處理方案,附上解決過程,有需要的小伙伴可以參考下
    2016-09-09
  • MariaDB中1045權限錯誤導致拒絕用戶訪問的錯誤解決方法

    MariaDB中1045權限錯誤導致拒絕用戶訪問的錯誤解決方法

    這篇文章主要介紹了MariaDB中1045權限錯誤導致拒絕用戶訪問的錯誤解決方法,需要的朋友可以參考下
    2016-01-01

最新評論

福建体育彩票时时彩11