天天看點

mysql叢集搭建-主從配置

主從形式

mysql主從複制:

一主一從

主主複制

一主多從—擴充系統讀取的性能,因為讀是在從庫讀取的;

多主一從—5.7開始支援

聯級複制—

mysql叢集搭建-主從配置

用途及條件

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主伺服器:

    版本: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
           
mysql叢集搭建-主從配置

編輯主伺服器的資料庫配置檔案資訊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
           
mysql叢集搭建-主從配置

登入從伺服器,執行如下指令:

編輯從伺服器的資料庫配置檔案資訊:my.cnf

vi /etc/my.cnf
           
server-id=227
log_bin=/var/log/mysql/mysql-bin.log
           
mysql叢集搭建-主從配置

重新開機主伺服器

service mysqld restart
           

提示如下資訊:

mysql叢集搭建-主從配置

修改:

  • 進入/var/log/檔案夾下,建立檔案mysql,進入mysql目錄,建立檔案mysql-bin.log檔案,并賦予讀寫權限(mysql和mysql-bin.log)

    登入主伺服器,檢視master狀态

show master status\G;
           
mysql叢集搭建-主從配置

登入從伺服器,設定主從關系

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;
           
mysql叢集搭建-主從配置

檢視從伺服器的主從關系狀态

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主從配置成功