mycat 数据库中间件,放到双主服务器前面做代理,实现负载均衡。
一,配置java环境。
去官网下载jdk安装包,安装jdk。安装完成后将目录名称改为jdk
修改环境变量:
#vim /etc/profile
JAVA_HOME=/usr/local/java
PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME PATH 测试java:#java -version(我们这里安装的石1.7.0版本)
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01) Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)二。安装mycat
去官网下载:
解压到/usr/local/下
三。配置mycat:
server.xml
配置client如何访问mycat(用户名和密码)
配置schema名称
schemal.xml
配置数据库节点和库
配置server.xml
需要在任何一台主服务器上授权新账户
mysql>grant all on *.* 'youngfit'@'%' identified by '123';
mysql>flush privileges;
在其他所有机器测试账户是否同步成功:
mysql> show grants for huxulong@'%';+-----------------------------------------------+| Grants for huxulong@% |+-----------------------------------------------+| GRANT ALL PRIVILEGES ON *.* TO 'huxulong'@'%' |+-----------------------------------------------+#vim /usr/local/mycat/conf/server.xml 80 <user name="root"> 81 <property name="password">123</property> 82 <property name="schemas">dbname1</property>//schemas的名字可以写多个,拿逗号隔开 比如db1,db2修改配置文件schema.xml :#vim /usr/local/mycat/conf/schema.xml 1 <?xml version="1.0"?> 2 <!DOCTYPE mycat:schema SYSTEM "schema.dtd"> 3 <mycat:schema xmlns:mycat="http://io.mycat/"> 4 5 <schema name="dbname1" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"> //中间原来有好多表的配置,统统干掉 6 </schema> //上面的schema标签可以写多个,每个对应一个datanode 7 <dataNode name="dn1" dataHost="localhost1" database="db1" /> //上面的datanode可以写多个,每个对应一个数据库 8 <dataHost name="localhost1" maxCon="1000" minCon="10" balance="0" 9 writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> 10 <heartbeat>select user()</heartbeat> 11 <writeHost host="hostM1" url="master1:3306" user="huxulong" 12 password="123"> 13 <readHost host="hostS2" url="slave1:3306" user="huxulong" password="123" /> 14 <readHost host="hostS2" url="slave2:3306" user="huxulong" password="123" /> 15 </writeHost> 16 <writeHost host="hostM2" url="master2:3306" user="huxulong" 17 password="123"> 18 <readHost host="hostS2" url="slave1:3306" user="huxulong" password="123" /> 19 <readHost host="hostS2" url="slave2:3306" user="huxulong" password="123" /> 20 </writeHost> 21 </dataHost> 22 23 </mycat:schema>
启动mycat,测试
#/usr/local/mycat/bin/mycat start
starting mycat
#jps
2118 WrapperSimpleApp
2153 Jps如果测试失败,请查看配置文件是否配置正确,查看内存是否充足。内存不足,导致mycat不能启动。