實驗環境:mysql
兩臺MariaDB服務器,IP分別爲: 172.16.2.16 和 172.16.2.17sql
MariaDB的版本是5.5.36,使用二進制方式安裝。已安裝完成。數據庫
/mydata/data 數據庫文件存放目錄bash
/mydata/binlog/ 二進制日誌文件存放位置服務器
/mydata/relaylog/ 中繼日誌存放位置socket
實驗目地:ide
把兩臺服務器搭建爲兩主模型工做。測試
實驗操做過程:url
172.16.2.16的配置過程spa
/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;
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,在第二個節點上爲第一個節點建立的數據庫建立表,在第一個節點查看,若是有說明雙向複製沒有問題。