mycat 1.5 读写分离

环境说明:

三台都安装MySQL 5.7.34版本数据库,其中

192.168.3.63 CentOS7-63   安装mycat服务,管理CentOS7-64和CentOS7-65数据库读写分离

192.168.3.64 CentOS7-64    配置为Master 作为主从架构的主数据库

192.168.3.65 CentOS7-65    配置为Slave 作为主从架构的从数据库

mycat 下载地址:https://github.com/MyCATApache/Mycat-Server

安装包下载: https://github.com/MyCATApache/Mycat-Server/releases

JDK1.8 下载地址:https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html

1、安装JDK1.8和mycat

mkdir -p /usr/java  

tar zxf jdk-8u291-linux-x64.tar.gz -C /usr/java/

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

ll /usr/java/

cd /usr/java/jdk1.8.0_291

cd /usr/local/mycat

vim /etc/porfile

#添加JDK环境变量

JAVA_HOME=/usr/java/jdk1.8.0_291  

PATH=$JAVA_HOME/bin:$PATH 

CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar  

export PATH JAVA_HOME CLASSPATH

#添加MyCat环境变量

MYCAT_HOME=/usr/local/mycat 

PATH=$MYCAT_HOME/bin:$PATH

保存退出

#刷新系统环境变量

source /etc/porfile

#验证jdk环境

java -version

2、Linux系统中组建的MyCAT集群,需要在MyCAT Server所在的服务器上配置对其他ip和主机名的映射

vim /etc/hosts

192.168.3.63 CentOS7-63

192.168.3.64 CentOS7-64

192.168.3.65 CentOS7-65

3、修改配置

3.1、修改server.xml文件

cd /usr/local/mycat/conf

编辑vim server.xml,跳到文末:

填写登录mycat数据库用户名root,密码761479629@Lt,需要操作逻辑数据库为:HA

<user name="root" defaultAccount="true">
                 <property name="password">761479629@Lt</property>
                 <property name="schemas">HA</property>
 <!--<property name="defaultSchema">TESTDB</property>-->
        </user>
 
         <user name="user">
                 <property name="password">user</property>
                 <property name="schemas">HA</property>
                 <property name="readOnly">true</property>
                 <!--<property name="defaultSchema">TESTDB</property>-->
         </user>
3.2、配置引用的配置文件schema.xml

配置说明:配置数据库为HA,主从数据库需要创建一个账号为mycat用户名。密码为761479629Lt的用户操作数据库;(需要修改的以红色标出)

<?xml version="1.0"?>

<!DOCTYPE mycat:schema SYSTEM "schema.dtd">

<mycat:schema xmlns:mycat="http://io.mycat/">

        <schema name="HA" checkSQLschema="false" sqlMaxLimit="100" randomDataNode="dn1">

        </schema>

        <dataNode name="dn1" dataHost="localhost1" database="HA" />

        <dataHost name="localhost1" maxCon="1000" minCon="10" balance="1"

                          writeType="0" dbType="mysql" dbDriver="native" switchType="-1"  slaveThreshold="100">

                <heartbeat>select user()</heartbeat>

                <writeHost host="CentOS7-64" url="192.168.3.64:3306" user="mycat" password="761479629Lt"></writeHost>

                <writeHost host="CentOS7-65" url="192.168.3.65:3306" user="mycat" password="761479629Lt"></writeHost>

        </dataHost>

</mycat:schema>

重要参数讲解:
balance="0" 不开启读写分离机制,所有读操作都发送到当前可用的writeHost上。
balance="1" 全部的readHost与stand by writeHost参与select语句的负载均衡,简单来说就是不分你我
balance="2",所有读操作都随机分发在writeHost、readhost上。
balance="3",所有读请求随机的分发到wiriterHost对应的readhost执行,writerHost不负担读压力
switchType指的是切换的模式,目前的取值也有4种:
switchType='-1' 表示不自动切换
switchType='1' 默认值,表示自动切换
switchType='2' 基于MySQL主从同步的状态决定是否切换,心跳语句为 show slave status
switchType='3'基于MySQL galary cluster的切换机制(适合集群)(1.4.1),心跳语句为 show status like 'wsrep%'。

4、主从数据库上都要创建帐号

mysql>grant all on *.* to mycat@'192.168.3.63' IDENTIFIED BY '761479629Lt';

mysql>flush privileges;

提示弱密码处理方法:

set global validate_password_policy=0; 

set global validate_password_length=4;

5、启动mycat

 mycat start

 查看是否启动:

 mycat status

 [root@CentOS7-63 conf]# mycat status

Mycat-server is running (128300).

6、设置开机自启

方法一

软连接ln -s /安装目录/bin/mycat /etc/init.d/mycat

ln -s /usr/local/mycat/bin/mycat /etc/init.d/mycat

编辑日志配置文件:vim /usr/local/mycat/conf/wrapper.conf

wrapper.java.command=/usr/java/jdk1.8.0_291/bin/java

添加启动项:

chkconfig --add mycat 

设置开机自启:

chkconfig mycat  on 

方法二:vim /etc/rc.d/rc.local

#java路径根据自己实际情况填写

export JAVA_HOME=/usr/java/jdk1.8.0_291 PATH=$JAVA_HOME/bin:$PATH CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar

/usr/local/mycat/bin/mycat start

修改日志配置文件:conf/wrapper.conf;将wrapper.java.command设置为java的路径

wrapper.java.command=/usr/java/jdk1.8.0_291/bin/java

7、其他设置

 查看端口是否监听:

 netstat -anput

  tcp6       0      0 :::8066                 :::*                    LISTEN      128302/java 

 如果报错查看日志

 tail -f /usr/local/mycat/wrapper.log

 修改日志报错级别:使报错日志更详尽

 在conf里有一个log4j.xml,在文件最末尾

 修改<level value="info" />

 改为<level value="debug" />

 保存重启mycat


登录本机mycat管理(记得加端口号8066)

mysql -uroot -p761479629@Lt -h 192.168.3.63 -P8066

操作跟MySQL操作一样。

版权声明:
作者:WaterBear
链接:https://l-t.top/1802.html
来源:雷霆运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>