mycat连接mysql 简单配置

mycat三个配置文件位于conf下 可通过

首先配置service.xml中的user标签,设置用户名,密码,查询权限,是否只读等

只是设置了root用户,有所有权限

配置schema.xml

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">

	<schema name="model" checkSQLschema="true" sqlMaxLimit="100">
		<table name="test_table" dataNode="dn1,dn2" rule="mod-long" />
	</schema>

	<dataNode name="dn1" dataHost="data223" database="model" />
	<dataNode name="dn2" dataHost="data224" database="model" />

	<dataHost name="data223" maxCon="1000" minCon="10" balance="0"
			  writeType="0" dbType="mysql" dbDriver="jdbc" switchType="1"  slaveThreshold="100">
		<heartbeat>select user()</heartbeat>
		<writeHost host="hostS1" url="jdbc:mysql://ip地址:3306?useSSL=false&amp;serverTimezone=Asia/Shanghai&amp;characterEncoding=utf8"  user="root" password="root" />
	</dataHost>
	
	<dataHost name="data224" maxCon="1000" minCon="10" balance="0"
			  writeType="0" dbType="mysql" dbDriver="jdbc" switchType="1"  slaveThreshold="100">
		<heartbeat>select user()</heartbeat>
		<writeHost host="hostS2" url="jdbc:mysql://ip地址:3306?useSSL=false&amp;serverTimezone=Asia/Shanghai&amp;characterEncoding=utf8" 
		user="root" password="root" />
	</dataHost>
	
	
</mycat:schema>

如果设置主键 使用primaryKey标签,如果为全局表设置type=“global”

<table name="test_table" dataNode="dn1,dn2" rule="mod-long" primaryKey=id" type="global"/>

关闭服务器的防火墙或者

mysql中配置文件my.cnf添加

net_read_timeout = 120
net_write_timeout = 900

启动mycat后,进行测试

连接mycat

mysql -u用户名 -p密码 -P 端口 -h ip地址

mysql -uroot -proot -P 8066 -h ip地址

查询库

show databases;

切换到 model 数据库

use model;

查看表

show tables;

查询

根据配置的规则,两个节点,每个节点数据库两条数据

节点1: 节点2:

经验分享 程序员 微信小程序 职场和发展