MySQL主從備份

關於Mysql的安裝能夠參照個人另外一篇文章:juejin.im/post/5b3d92…mysql

本文介紹的是Mysql的主從備份配置sql

環境介紹:

系統:ubuntu16.04 64位

master:192.168.1.222

slave1:192.168.1.223

slave2:192.168.1.224

三臺機器都預先裝好了mysql,並都建立了測試數據庫vingo,測試表test
複製代碼

1、master配置

1. 登陸mysql

mysql -uroot -p
複製代碼

2. 新建備份帳號並受權

mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.%' IDENTIFIED BY 'mysql';
mysql>FLUSH PRIVILEGES;
複製代碼

3. 修改mysql配置

vim /etc/my.cnf

server-id = 222 #服務器惟一標識,直接使用IP末尾
log_bin = master-bin  #啓動二進制日誌
log_bin_index = master-bin.index
binlog_do_db = vingo  #指定記錄二進制日誌的數據庫
binlog_ignore_db= mysql  #指定不記錄二進制日誌的數據庫
複製代碼

4. 重啓服務

cd /usr/local/mysql/support-files

./mysql.server restart
複製代碼

5. 登陸mysql查看master狀態

mysql>show master status;
複製代碼

2、slave配置

slave1和slave2都要進行以下配置,差異僅是mysql配置中的server-id,slave1是223,slave2是224數據庫

1. 修改mysql配置

vim /etc/my.cnf

server-id = 223
relay-log = slave-relay-bin
relay-log-index = slave-relay-bin.index
複製代碼

2. 重啓服務

cd /usr/local/mysql/support-files

./mysql.server restart
複製代碼

3. 登陸mysql,鏈接master

mysql>change master to master_host='192.168.1.222',master_port=3306,master_user='repl',master_password='mysql',master_log_file='master-bin.000001',master_log_pos=154;

master_host:master的IP
master_port:master的端口
master_user:步驟一中建立的複製帳號
master_password:複製帳號的密碼
master_log_file和master_log_pos:對應步驟一最後查看的master狀態值
複製代碼

4. 啓動slave同步

mysql>start slave;
複製代碼

5. 查看slave狀態

mysql>show slave status\G;
複製代碼

slave_io_running和slave_sql_running都爲yes,就說明配置成功了

3、 測試

在master中執行insert into test(name) values('測試是否同步');

去slave1和slave2中查詢test表看看是否能查到剛insert的記錄,有就證實成功了複製代碼
相關文章
相關標籤/搜索