Mycat基于主从复制实现读写分离

一,环境

系统:centos6.8

JDK:jdk1.8

Mycat版本:Mycat-server-1.6.5-release-20171228230037-linux.tar

MySQL:mysql-5.7

IP地址:  mycat:192.168.10.142      master:192.168.10.74      slave:192.168.10.185

二,介绍

官网:http://mycat.io/


9644303-e6a42a426ec76ec1.png

三,Mycat 安装

MyCat是用Java开发的,因此MyCat运行需要安装JDK(准确来说是JRE就够了),并且需要JDK1.7或以上版本

1,安装jdk

# yum -y instll java*

# java-verison

2.,配置mycat

#  tar -zxvf Mycat-server-1.5.1-RELEASE-20170717215510-linux.tar.gz  -C /usr/local

# vim /etc/profile

export MYCAT_HOME=/usr/local/mycat  

export PATH=$PATH:$MYCAT_HOME/bin  

# source  /etc/profile

3,确保Mysql主从复制正常

(1) MySQL主从复制配置中,如果涉及到函数或存储过程的同步复制,需要在/etc/my.cnf中的[mysqld]段中增加配置log_bin_trust_function_creators=true 或在客户端中设置 set global log_bin_trust_function_creators = 1;

(2) 如果要做读写分离下的主从切换,那么从节点也有可能会变为写节点,因此从节点就不能设置为只读 read_only=1 。

(3) Linux版本的MySQL,需要设置为MySQL大小写不敏感,否则可能会发生找不到表的问题。可在/etc/my.cnf的[mysqld]段中增加lower_case_table_names=1 。

4.配置mycat的schema.xml

用于设置MyCat的逻辑库、表、数据节点、dataHost等内容,

# vim /usr/local/mycat/conf/schema.xml


9644303-1a6f0970dec26b49.png

5.配置server.xml文件

主要用于设置系统变量、管理用户、设置用户权限等


9644303-e9677cba4b81a796.png

6.修改日志级别为debug

修改log日志级别为debug,以便通过日志确认基于MyCat的MySQL数据库集群读写分离的数据操作状态(可以在正式上生产前改成info级别

#  vim /usr/local/mycat/conf/log4j.xm


9644303-0ee414e886db7517.png

7.启动mycat

# cd /usr/local/mycat/bin

#./mycat console 控制台启动

# ./mycat start    后台启动

8.从客户端连接测试

分别执行读语句和写语句

# tail  -f  /usr/local/mycat/logs/myca.log

读语句:185为slave主机


9644303-7b2d2e37f8f3a8ce.png

写语句:74为master主机


9644303-ea53fb096574d3f9.png

参考博客:https://blog.csdn.net/l1028386804/article/details/75269196

猜你喜欢

转载自blog.csdn.net/weixin_33966365/article/details/87229410