mysql叢集搭建-主從配置
阿新 • • 發佈:2018-11-27
主從形式
mysql主從複製:
一主一從
主主複製
一主多從—擴充套件系統讀取的效能,因為讀是在從庫讀取的;
多主一從—5.7開始支援
聯級複製—
用途及條件
mysql主從複製用途
- 實時災備,用於故障切換
讀寫分離,提供查詢服務
備份,避免影響業務(備可用性和容錯行)
負載平衡
主從部署必要條件:
- 主庫開啟binlog日誌(設定log-bin引數)
主從server-id不同
從庫伺服器能連通主庫
主從原理
庫生成兩個執行緒,一個I/O執行緒,一個SQL執行緒;
I/O執行緒去請求主庫 的binlog,並將得到的binlog日誌寫到relay log(中繼日誌) 檔案中;
主庫會生成一個 log dump 執行緒,用來給從庫 i/o執行緒傳binlog;
SQL 執行緒,會讀取relay log檔案中的日誌,並解析成具體操作,來實現主從的操作一致,最終資料一致;
配置資訊
- Mysql主伺服器:
版本:mysql Ver 14.14 Distrib 5.7.20
IP:192.168.168.226
PORT:3306 - Mysql從伺服器
版本:mysql Ver 14.14 Distrib 5.7.20
IP:192.168.168.227
PORT:3306
伺服器:
CentOS 7 搭建步驟
登入主伺服器,執行如下命令:
mysql -u root -p
提示密碼安全策略問題:
set global validate_password_policy=0; grant replication slave on *.* TO 'backup'@'192.168.168.227' identified by 'Likang123qwe'; flush privileges
編輯主伺服器的資料庫配置檔案資訊my.cnf
vi /etc/my.cnf
新增如下資訊:
server-id=226
log_bin=/var/log/mysql/mysql-bin.log
read-only=0
binlog-do-db=test
binlog-ignore-db=mysql
登入從伺服器,執行如下命令:
編輯從伺服器的資料庫配置檔案資訊:my.cnf
vi /etc/my.cnf
server-id=227
log_bin=/var/log/mysql/mysql-bin.log
重啟主伺服器
service mysqld restart
提示如下資訊:
修改:
- 進入/var/log/資料夾下,新建檔案mysql,進入mysql目錄,新建檔案mysql-bin.log檔案,並賦予讀寫許可權(mysql和mysql-bin.log)
登入主伺服器,檢視master狀態
show master status\G;
登入從伺服器,設定主從關係
change master to master_host='192.168.168.226',master_user='backup',master_password='Likang123qwe',master_log_file='mysql-bin.000001',master_log_pos=154;
檢視從伺服器的主從關係狀態
show slave status\G;
主伺服器下執行
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
從伺服器下執行
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
如果主從庫中不存在test庫,則需要重新建庫,然後重啟,重新構建主從關係
從伺服器下
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
如果都為yes,則主從搭建成功
至此,mysql主從配置成功