重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
快速搭建MySQL主从同步
创新互联专注于双江企业网站建设,成都响应式网站建设公司,商城系统网站开发。双江网站建设公司,为双江等地区提供建站服务。全流程定制网站制作,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
概述:在实际生产环境中,如果对数据库的读和写都在同一个数据库服务器中操作,无论是在安全性、高可用性,还是高并发等各方面都是完全不能满足时间需求的,因此
一般来说都是通过主从复制(Master-Slave)的方式来同步数据,再通过读写分离来提升数据库的并发负载能力。
主从用途
实时灾备,用于故障切换,主数据库出现问题,可以切换到从数据库
读写分离,提供查询服务
数据备份,避免影响业务
下面通过实验案例来分析
一台主MySQL 两台从MySQL
主 192.168.30.33/24
从 192.168.30.34/24
192.168.30.35/24
首先关闭防火墙和selinx
service firewalld stop
setenforce 0
1、 建立时间同步环境,在主节点上搭建时间同步服务器。
yum install -y ntp
[root@lin3033 ~]# vi /etc/ntp.conf
大约17行修改添加 约束网段和子网
[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
数据库一主多从操作
Master:
授权用户相应权限
GRANT REPLICATION SLAVE ON *.* TO 'myslave'@'192.168.30.%' IDENTIFIED BY 'abc123';
授权myslave 登陆192.168.30。%网段
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
如果不放心可以在主服务器中创建一个库,之后看看两台从有没有
在主MySQL中添加一个数据库
mysql> create database client;
在两个从服务器中查看