加入收藏 | 设为首页 | 会员中心 | 我要投稿 驾考网 (https://www.jiakaowang.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql主从复制及读写分离

发布时间:2023-06-19 13:15:51 所属栏目:MySql教程 来源:
导读:地址分配:
Client 192.168.1.1
Amoeba 192.168.1.2
Mysql-Master 192.168.1.3
MysqL-slave1 192.168.1.4
MysqL-slave2 192.168.1.5

1、配置时间同步

1)在Master上使用yum安装ntp,修改其配置文件/etc/n
地址分配:
Client 192.168.1.1
Amoeba 192.168.1.2
Mysql-Master 192.168.1.3
MysqL-slave1 192.168.1.4
MysqL-slave2 192.168.1.5

1、配置时间同步

1)在Master上使用yum安装ntp,修改其配置文件/etc/ntp.conf后启动服务。为udp端口123开启iptables例外。

2)在两台slave上执行/usr/sbin/ntpdate 192.168.1.3使得时间同步与Master同步。

2、主从复制
注意:三台MysqL数据库上都需要开启tcp端口3306的iptables例外。

1)主服务器Master的配置
/etc/my.cnf的配置

重启MysqLd服务

执行MysqL -u root -p登录到MysqL数据库,为服务器授权

2)从服务器slave的配置(两台从服务器配置相同)
/etc/my.cnf的配置

重启服务(service MysqLd restart),登陆MysqL配置启动slave

通过show slave status\G可以查看主从复制运行是否正常。主从复制依赖于sql进程和IO进程,这两个进程状态为“yes”即表示运行正常。

3、读写分离
MysqL读写分离可以通过两种方式实现,基于程序代码内部实现和基于中间件实现,本次使用Amoeba就是基于中间件实现的其中一个方法。

1)Amoeba中间件服务器的配置
安装jdk

修改/etc/profile

执行source /etc/profile立即生效,java -version查看是否完成安装。

安装Amoeba

修改Amoeba配置文件/usr/local/amoeba/conf/amoeba.xml

修改Amoeba配置文件/usr/local/amoeba/conf/dbServers.xml

所以Amoeba中间件需要开启tcp端口8066iptables例外。

2)三台MysqL都需要给Aomeba授权(三台相同操作)

4、客户端连接Amoeba。(正常应当在命令后加-P8066,我后来将端口修改为3306了,就不用在后面加端口号了)

注意:横线处输入密码为‘amoeba’的密码‘123456b’,而命令中密码为‘chen’的密码‘123456c’。
总结,最后的效果是:
1)在slave上登陆本地MysqL写数据,不会同步到master;而在master上写数据,可以同步到slave。

2)关闭主从复制,在client上写数据,可以在master上看到该数据,slave上看不到(因为client写数据会直接写到master上)。

3)关闭主从复制后,在master上登陆本地的MysqL写数据,client读取不到数据;相反在slave上登陆本地写数据,client可以读取到(因为client读数据是从slave上读取的)。

(编辑:驾考网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章