mysql是一款很好用的数据库,易于上手,本篇文章记录了笔者进行mysql主从复制加读写分离的过程
环境:centos 7 + mysql 5.7
关于读写分离,可以参考我的另一篇文章https://blog.youkuaiyun.com/J4ffee/article/details/89325929
一、主从复制的搭建
运用两台服务器:一台主服务器,一台从服务器(从服务器可以加多台),主服务器负责写,从服务器负责读(真实环境中,读的需求要大于写的需求)
主:192.168.122.128
从:192.168.122.140
1.配置主服务器:
给从服务器授权:
GRANT REPLICATION SLAVE ON *.* to 'repuser'@'192.168.%.%' identified by ‘123456’;(%表示只要在192.168这个网段 内的ip都行)
我们可以查看一下是否授权成功

我们看到已经成功
查看主服务器状态:

2.配置从服务器:
修改从数据库的配置文件(my.cnf 如果不知道文件位置,可以使用命令 find / -name my.cnf,一般的话,都会放在etc文件下)
![]()
修改my.cnf文件,在mysqld下面加如下内容:
server-id=2
relay-log=slave-relay-bin
relay-log-index=slave-relay-bin.index

3.重启两台数据库(systemctl restart mysqld)
4.连接master服务器(在从数据库中执行)
change master to master_host='192.168.122.128',master_port=3306,master_user='root',master_password='123456',master_log_file='master-bin.000001',master_log_pos=154;
注意:master_host为主服务器地址,master_port为主服务器端口,master_user为第一步中授权的用户名,master_password为其密码,master_log_file,master_log_pos分别为查看服务器状态时查询到的File和Position(show master status命令查询得到)
5.启动slave数据同步
start slave
![]()
6.检查从服务器状态
登录从服务器,使用命令 show slave status\G;

只有当Slave_IO_Running和Slave_SQL_Running都是yes时,才算成功,如果你两台centos是克隆的,可能失败,百度有答案,直接百度Slave_IO_Running 显示no,会有答案
7.测试
到现在为止,主从复制算是搭建好了,接下来进行测试:
选择t两个数据库里的test表
主数据库test表:
从数据库test表:
在主数据库中插入数据
检查从数据库(记得刷新)
完美!!!!!
光主从复制是不够的,读写分离将在下篇文章中进行介绍
本文详细介绍了在CentOS7环境下,使用MySQL5.7进行主从复制和读写分离的具体步骤。通过配置两台服务器,实现了一台主服务器负责写操作,多台从服务器负责读操作的架构,有效分散了数据库的读取压力。
286

被折叠的 条评论
为什么被折叠?



