快速搭建MySQL主從同步

快速搭建MySQL主從同步

    概述:在實際生產環境中,如果對數據庫的讀和寫都在同一個數據庫服務器中操作,無論是在安全性、高可用性,還是高併發等各方面都是完全不能滿足時間需求的,因此

    一般來說都是通過主從複製(Master-Slave)的方式來同步數據,再通過讀寫分離來提升數據庫的併發負載能力。

    

    主從用途

    實時災備,用於故障切換,主數據庫出現問題,可以切換到從數據庫

    讀寫分離,提供查詢服務

  數據備份,避免影響業務


    下面通過實驗案例來分析   

    一臺主MySQL 兩臺從MySQL

    主 192.168.30.33/24           

    從 192.168.30.34/24         

       192.168.30.35/24        

image.png


    首先關閉防火牆和selinx

    service firewalld stop

    setenforce 0

1、 建立時間同步環境,在主節點上搭建時間同步服務器。

    yum install -y ntp

[root@lin3033 ~]# vi /etc/ntp.conf 

大約17行修改添加 約束網段和子網

image.png

[root@lin3033 ~]# systemctl start ntpd

接下來修改主MySQL的配置文件

[root@lin3033 ~]# vi /etc/my.cnf

全局配置模塊下添加如下

image.png

[root@lin3033 ~]# systemctl restart mysqld


接下來配置兩臺從服務

slave1:

yum install -y ntp

ntpdate 192.168.30.33

echo '*/30 * * * * /usr/sbin/ntpdate 192.168.30.33' >> /var/spool/cron/root

image.png

[root@lin3035 ~]# vi /etc/my.cnf

image.png

[root@lin3035 ~]# systemctl restart mysqld


slave2:

yum install -y ntp

ntpdate 192.168.30.33

echo '*/30 * * * * /usr/sbin/ntpdate 192.168.30.33' >> /var/spool/cron/root

image.png

[root@lin3034 ~]# vi /etc/my.cnf

image.png

[root@lin3034 ~]# systemctl restart mysqld



數據庫一主多從操作

 

Master:

 

授權用戶相應權限

GRANT REPLICATION SLAVE ON *.* TO 'myslave'@'192.168.30.%' IDENTIFIED BY 'abc123';

                     授權myslave 登陸192.168.30。%網段  

FLUSH PRIVILEGES;

show master status; //要記下 Position 列的值 會變更,每次操作時需確認無變動纔可進行下一步

image.png


slave1:

mysql> change master to master_host='192.168.30.33', master_user='myslave', master_log_file='mysql-bin.000001', master_log_pos=471;   

mysql> start slave;


slave  2

mysql> change master to master_host='192.168.30.33', master_user='myslave', master_log_file='mysql-bin.000001', master_log_pos=471;

mysql> start slave;


驗證兩臺Slave_IO_Running、Slave_SQL_Running是否是YES,兩個都是YES表示mysql主從複製配置成功了

mysql> show slave status \G

slave 1                             

image.png

slave 2

image.png


如果不放心可以在主服務器中創建一個庫,之後看看兩臺從有沒有

在主MySQL中添加一個數據庫

mysql> create database client;

image.png

在兩個從服務器中查看

image.png image.png



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章