MySQL雙主配置步驟

實驗環境:

    兩臺MariaDB服務器,IP分別爲: 172.16.2.16 和 172.16.2.17

    MariaDB的版本是5.5.36,使用二進制方式安裝。已安裝完成。

    /mydata/data  數據庫文件存放目錄

    /mydata/binlog/ 二進制日誌文件存放位置

    /mydata/relaylog/ 中繼日誌存放位置

實驗目地:

    把兩臺服務器搭建爲兩主模型工作。

實驗操作過程:

172.16.2.16的配置過程

/etc/my.cnf配置文件[mysqld]段如下

[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
thread_concurrency = 8
auto-increment-increment = 2                設置自動增長的每次增進值,此服務器的增長值爲奇數
auto-increment-offset = 1              設置自動增長值的初始值
log-bin=/mydata/binlog/mysql-bin       修改二進制日誌文件存放位置
relay-log=/mydata/relaylog/relay-log    中繼日誌存入位置
binlog_format=mixed
server-id= 1                      這裏使用默認的server-id
datadir=/mydata/data              設定數據庫存放的目錄
sync_binlog = 1           設定二進制日誌工作特性爲實時把日誌寫入二進制日誌文件

爲對方節點授權

MariaDB [(none)]> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO slaveuser@'172.16.2.17' IDENTIFIED BY 'slavepass';
MariaDB [(none)]> FLUSH PRIVILEGES;


172.16.2.17節點配置信息

/etc/my.cnf配置文件[mysqld]段如下

[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
thread_concurrency = 8
log-bin=/mydata/binlog/mysql-bin
relay-log=/mydata/relaylog/relay-log
binlog_format=mixed
server-id= 2                        這裏server-id爲2
datadir=/mydata/data
auto-increment-increment = 2
auto-increment-offset = 2

爲對方節點授權

MariaDB [(none)]> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO slaveuser@'172.16.2.16' IDENTIFIED BY 'slavepass';
MariaDB [(none)]> FLUSH PRIVILEGES;

    

在雙方節點分別連接對方節點,在連接對方前,需要知道對方當前使用的二進制日誌文件及文件中事務的位置

在節點一查看當前二進制日誌信息,得到使用的日誌文件爲  mysql-bin.000012  ,最新的事件ID是 676  

MariaDB [(none)]> SHOW MASTER STATUS; [object Object]

在第二個節點連接第一個節點

MariaDB [(none)]> CHANGE MASTER TO MASTER_HOST='172.16.2.16', MASTER_USER='slaveuser',MASTER_PASSWORD='slavepass',MASTER_LOG_FILE='mysql-bin.000012', MASTER_LOG_POS=676;
MariaDB [(none)]> START SLAVE;

在節點一查看當前二進制日誌信息,得到使用的日誌文件爲  mysql-bin.000006 ,最新的事件ID是 245

MariaDB [(none)]> SHOW MASTER STATUS;

spacer.gifwKioL1Qa_MaRwep9AACVhy_r-k0841.jpg

MariaDB [(none)]> CHANGE MASTER TO MASTER_HOST='172.16.2.17', MASTER_USER='slaveuser',MASTER_PASSWORD='slavepass',MASTER_LOG_FILE='mysql-bin.000006', MASTER_LOG_POS=245;
MariaDB [(none)]> START SLAVE;

配置完成後測試:

    1,在第一個節點上創建數據庫,然後到第二個節點查看,如果有說明覆製成功。

    2,在第二個節點上爲第一個節點創建的數據庫創建表,在第一個節點查看,如果有說明雙向複製沒有問題。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章