Setting up replication(主從複製)一主多備
阿新 • • 發佈:2018-12-12
mysql資料庫安裝參考再次不在詳述,本文采用的是mysql8.0.12
介紹
主從複製涉及單個主伺服器和多個從伺服器,結構圖如下,所有的主從複製都是基於binary log 開啟主從複製有以下幾步
- 在Master伺服器上開啟binary logging
- 在Master伺服器上建立用於遠端複製的使用者
- 在Slave伺服器上設定唯一的server_id
- 在Master上獲取Master伺服器的備份集
- 在Slave上恢復資料庫 下面我們來一步一步操作以下。
安裝
一 開啟binary logging
1 設定log-bin路徑以及server-id
vi /etc/my.cnf log-bin = /app/mysql/mysqldata/3306/binlog/mysql-bin server-id = 1203306
2 重啟Mysql資料庫
systemctl restart mysqld
3 驗證是否啟動成功
SHOW VARIABLES LIKE 'log_bin%';
ls -lhtr /app/mysql/mysqldata/3306/binlog
如圖代表配置正確
二 在Master伺服器上建立用於遠端複製的使用者
create user 'binlog_user'@'%' identified by 'binlog_user'; GRANT RELOAD,SUPER, REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO 'binlog_user'@'%' ; flush privileges;
三 在Slave伺服器設定SERVER_ID
必須保證在叢集環境中的每一個SERVER_ID是唯一的,不能相同
SET @@GLOBAL.SERVER_ID = 21203306;
四 在Slave伺服器備份資料庫
mysqldump -h <master_host> \
-u backup_user \
--password=<pass> \
--all-databases \
--routines --events \
--single-transaction \
--master-data > dump.sql
可以增加–slave-dump從Slave節點備份資料
mydumper -h <master_host> \
-u backup_user \
--password=<pass> \
--use-savepoints \
--trx-consistency-only \
--kill-long-queries \
--outputdir /app/mysql/mysqldata/backup