加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql集群复制和动静分离

发布时间:2023-08-07 14:26:40 所属栏目: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,修改
地址分配:
 
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,查看端口
 
所以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上读取的)。
 
 

(编辑:聊城站长网)

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

    推荐文章