千家信息网

快速搭建MySQL主从同步

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,快速搭建MySQL主从同步概述:在实际生产环境中,如果对数据库的读和写都在同一个数据库服务器中操作,无论是在安全性、高可用性,还是高并发等各方面都是完全不能满足时间需求的,因此一般来说都是通过主从复制
千家信息网最后更新 2025年01月21日快速搭建MySQL主从同步

快速搭建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;

在两个从服务器中查看



0