标签:sele 读写 only from 产生 高可用 显示 /usr schema
Mycat基于阿里的Cobar系统开发
jdk安装
Mycat是基于jdk1.7开发的,在安装之前要先安装jdk环境
yum install java-1.7.0-openjdk
mycat下载
下载mycat路径http://dl.mycat.io,或者直接运行命令
wget http://dl.mycat.io/1.6.5/Mycat-server-1.6.5-release-20180122220033-linux.tar.gz #下载 tar zxvf /usr/Mycat-server-1.6.5-release-20180122220033-linux.tar.gz #解压目录
linux系统上安装任何一种软件最好都要新建一个独立用户,不要用root运行,不然会产生不安全的因素
adduser mycat #建立mycat用户 chown mycat:mycat -R . #改变当前文件夹所属user和group ll #查看文件所属用户和所属组
配置环境变量
vi /etc/profile #用户登录都会初始化这个文件 #JDK第一次安装的话也要配置环境变量 export MYCAT_HOME=/usr/local/mycat #mycat环境配置
#然后使文件生效
source /etc/profile
$MYCAT_HOME/bin下面的startup_nowrap.sh或者$MYCAT_HOME/bin/mycat
脚本方式可以设置参数
schema.xml
<!--schema 定义数据库名,限制sql返回记录条数为100,指定数据节点为dn1 --> <schema name="schoolDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"> <!-- 数据节点指定name属性,主机集群dataHost,真实数据库名database --> <dataNode name="dn1" dataHost="node1" database="school" /> <!-- datahost指定最大连接数,最小连接数,balance读负载均衡 --> <dataHost name="node1" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> <!--心跳,用来确定写服务器是否正常--> <heartbeat>select user()</heartbeat> <!-- 定义写服务器 --> <writeHost host="192.168.25.3" url="192.168.25.3:3306" user="root" password="123456"> <!-- 定义写服务器的多个从服务器(读) --> <readHost host="192.168.25.4" url="192.168.25.3:3306" user="root" password="123456" /> </writeHost> <!-- 高可用,定义一个从服务器有写属性,在主服务器down掉之后,此服务器会替代主服务器的位置进行写操作 --> <writeHost host="192.168.25.4" url="192.168.25.3:3306" user="root" password="123456" /> </dataHost> </schema>
server.xml
<!-- 设置mycat端口,可以设为3306--> <property name="serverPort">8066</property> <!-- 设置连接mycat的用户名及密码以及是否只读--> <user name="root"> <property name="password">123456</property> <property name="schemas">schoolDB</property> </user> <user name="mycat"> <property name="password">123456</property> <property name="schemas">schoolDB</property> <property name="readOnly">true</property> </user>
用mysql命令连接mycat
./mysql -uroot -p123456 -P 8066 -h 192.168.25.3
显示数据库: show databases;
显示库中的表:
use dbName;
show tables; #查看数据库中有哪些表
select * from tableName;
标签:sele 读写 only from 产生 高可用 显示 /usr schema
原文地址:https://www.cnblogs.com/aeolian/p/9056391.html