Master (192.168.50.1)
編輯my.cnf
vi /etc/mysql/my.cnf
接著在[mysqld]底下加上這些
#Master要設置為1,slave為2 server-id = 1 #代表要讓MariaDB產生日誌 log-bin #輸入要備份的資料庫名稱 binlog-do-db=dbname #跳過錯誤,繼續執行複製 slave-skip-errors=all
存檔並重新啟動MariaDB
登入MariaDB
mysql -u root -p
使用以下指令查看server_id是否正確
SHOW VARIABLES LIKE 'server_id';
建立一個帳號,並賦予權限(Slave登入用的,請輸入IP位址,Domain不適用)
GRANT replication slave ON *.* TO 'dbname'@'192.168.50.2' IDENTIFIED BY 'password' ;
確認Master是否正常,並記下LOG檔名的position等下會用到
show master status;
Slave (192.168.50.2)
編輯my.cnf
vi /etc/mysql/my.cnf
接著在[mysqld]底下加上這些
#Master要設置為1,slave為2 server-id = 2 #代表要讓MariaDB產生日誌 log-bin #輸入要備份的資料庫名稱 binlog-do-db=dbname #跳過錯誤,繼續執行複製 slave-skip-errors=all
建立一個帳號,並賦予權限(Master使用,請輸入IP位址,Domain不適用)
GRANT replication slave ON *.* TO 'dbname'@'192.168.50.1' IDENTIFIED BY 'password' ;
存檔並重新啟動MariaDB
登入MariaDB
mysql -u root -p
先停止slave,再輸入change master 的指令,最後重新啟動 slave
Stop slave; CHANGE MASTER TO MASTER_HOST='192.168.50.1', MASTER_USER='dbname', MASTER_PASSWORD='password', MASTER_LOG_FILE='mariadb-bin.000010', (剛剛show master status; 出現的資料) MASTER_LOG_POS=555; (此例為555,輸入555即可)
使用以下指令檢查連線是否成功
show slave status\G;
若訊息內出現下列兩行,即成功連線
Slave_IO_Running: Yes; Slave_SQL_Running: Yes;