快速搭建MySQL主從同步
創(chuàng)新互聯(lián)專注于雙江企業(yè)網(wǎng)站建設(shè),成都響應式網(wǎng)站建設(shè)公司,商城系統(tǒng)網(wǎng)站開發(fā)。雙江網(wǎng)站建設(shè)公司,為雙江等地區(qū)提供建站服務。全流程定制網(wǎng)站制作,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務
概述:在實際生產(chǎn)環(huán)境中,如果對數(shù)據(jù)庫的讀和寫都在同一個數(shù)據(jù)庫服務器中操作,無論是在安全性、高可用性,還是高并發(fā)等各方面都是完全不能滿足時間需求的,因此
一般來說都是通過主從復制(Master-Slave)的方式來同步數(shù)據(jù),再通過讀寫分離來提升數(shù)據(jù)庫的并發(fā)負載能力。
主從用途
實時災備,用于故障切換,主數(shù)據(jù)庫出現(xiàn)問題,可以切換到從數(shù)據(jù)庫
讀寫分離,提供查詢服務
數(shù)據(jù)備份,避免影響業(yè)務
下面通過實驗案例來分析
一臺主MySQL 兩臺從MySQL
主 192.168.30.33/24
從 192.168.30.34/24
192.168.30.35/24
首先關(guān)閉防火墻和selinx
service firewalld stop
setenforce 0
1、 建立時間同步環(huán)境,在主節(jié)點上搭建時間同步服務器。
yum install -y ntp
[root@lin3033 ~]# vi /etc/ntp.conf
大約17行修改添加 約束網(wǎng)段和子網(wǎng)
[root@lin3033 ~]# systemctl start ntpd
接下來修改主MySQL的配置文件
[root@lin3033 ~]# vi /etc/my.cnf
全局配置模塊下添加如下
[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
[root@lin3035 ~]# vi /etc/my.cnf
[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
[root@lin3034 ~]# vi /etc/my.cnf
[root@lin3034 ~]# systemctl restart mysqld
數(shù)據(jù)庫一主多從操作
Master:
授權(quán)用戶相應權(quán)限
GRANT REPLICATION SLAVE ON *.* TO 'myslave'@'192.168.30.%' IDENTIFIED BY 'abc123';
授權(quán)myslave 登陸192.168.30。%網(wǎng)段
FLUSH PRIVILEGES;
show master status; //要記下 Position 列的值 會變更,每次操作時需確認無變動才可進行下一步
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
slave 2
如果不放心可以在主服務器中創(chuàng)建一個庫,之后看看兩臺從有沒有
在主MySQL中添加一個數(shù)據(jù)庫
mysql> create database client;
在兩個從服務器中查看