栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Mysql配置读写分离

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Mysql配置读写分离

前置环境

事先准备3台虚拟机,其配置如下

  • 主数据库(master)ip:192.168.126.151,装有Percona5.6.51
  • 从数据库(slave)ip:192.168.126.152,装有Percona5.6.51
  • mycat服务(mycat):192.168.126.153,装有 mycat

另外,以上3台服务器均需配置jdk(1.8)

 

配置主从
master

master服务器上,使用vim /etc/my.cnf打开mysql配置文件,加入

server-id=1
log-bin=mysql-bin # binlog

重启mysql后查看binlog名字

service mysql restart
show master status

可以看到

slave

与master一样,使用vim /etc/my.cnf并添加

server-id=2
log-bin=mysql-bin # binlog

然后在mysql中执行如下语句

CHANGE MASTER TO MASTER_HOST="192.168.126.151", 
MASTER_PORT=3306,
MASTER_USER="root",
MASTER_PASSWORD="root",
MASTER_LOG_FILE="mysql-bin.000002",
MASTER_LOG_POS=120

其中file和pos的值要与上面show master status得到的一样。

执行start slave开启服务,并使用show master status查看,如出现下图,则成功完成主从配置

这时我们修改master,则slave也会出现相应更改。

注意:如果主从是由同一台虚拟机克隆而来的话,server-uuid会一样,这时需要删除其中一台虚拟器的/var/lib/mysql/auto.cnf 文件,并进行重启,这样mysql会重新生成server_uuid

 

读写分离

读写分离即读和写操作在不同数据库上完成。通过将read和write分开,可以有效减低获取锁冲突的几率。

但是Dao层不会关心数据库操作具体会由哪个库执行,因此,我们需要一个MySQL Proxy来完成具体数据库的分派。

而mycat就是这个MySQL Proxy。

图片来源:码农翻身
配置mycat

进入mycat安装目录./mycat/conf,会有schema.xml和server.xml。

在server.xml 加入

	
	
		
		
		mycat 
	

修改schema.xml






	
	
		
		
	
	
	
		
		
		select user()

		
		>
			
			
		
		
		
	

 

其中shema配置文件有些概念需要理清,可参考下图

测试

启动mycat服务

mycat start
mycat status

如果启动不成功,可以在./mycat/logs/wrapper.log中查看启动日志

连接上接mycat插入数据


主库已出现数据

而从库配置为readhost,不会出现数据

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号