【Mysql中间件】Mycat安装部署+读写分离

说明:
mysql-master:172.16.200.43
Mycat:172.16.200.43
mysql-slave1:172.16.200.45
mysql-slave2:172.16.200.46
.......................................................................................
MariaDB5.5.51数据库
..............................................................................................

一、 安装jdk

1、检查是否安装java

# java -version

2、安装jdk包

网址:http://www.oracle.com/technet...
上传至/usr/local/java目录下

3、修改环境变量文件,添加如下内容;

添加完成后,source /etc/profile
vi /etc/profile

#add java
export JAVA_HOME=/usr/local/java/jdk1.7.0_80
export JAVA_BIN=/usr/local/java/jdk1.7.0_80/bin
export PATH=$PATH:/usr/local/java/jdk1.7.0_80/bin
export CLASSPATH=./:/usr/local/java/jdk1.7.0_80/lib:/usr/local/java/jdk1.7.0_80/jre/lib
MYCAT_HOME=/usr/local/mycat
export JAVA_HOME JAVA_BIN PATH CALSSPATH

二、mycat安装配置读写分离

1、解压缩至目录/usr/local/

# tar zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz 

2、查看配置文件

配置文件非常多.如果只是简单配置在不同的服务器上进行读写分离只需要配置两个文件 server.xml 和  schema.xml

3、先配置server.xml

    <user name="root">
        <property name="password">123456</property>
        <property name="schemas">test</property>
    </user>
    <user name="user">
        <property name="password">123456</property>
        <property name="schemas">test</property>
        <property name="readOnly">true</property>
    </user>

4、配置schema

<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
        <schema name="test" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn_test"> </schema>
        <dataNode name="dn_test" dataHost="dh_43" database="test" />
        <dataHost name="dh_43" maxCon="1000" minCon="10" balance="1"
                          writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <!-- can have multi write hosts -->
                <writeHost host="43_M" url="172.16.200.43:3306" user="root"
                                   password="000000">
                        <!-- can have multi read hosts -->
                        <readHost host="45_S1" url="172.16.200.45:3306" user="root" password="000000" />
                        <readHost host="46_S2" url="172.16.200.46:3306" user="root" password="000000" />
                </writeHost>
                <!-- <writeHost host="hostM2" url="localhost:3316" user="root" password="123456"/> -->
        </dataHost>

5、开启mycat

./mycat start

6、查看端口

# netstat -tnlp
TCP *:9066 (LISTEN) #虚拟schema管理端口 
TCP *:8066 (LISTEN) #虚拟schema登陆端口 

能看到这个说明咱们的Mycat已经启动成功了

7、登录mycat读写分离服务:

# mysql -uroot -p123456 -h127.0.0.1 -P 8066

8、登录mycat管理端:

# mysql -uroot -p123456 -h127.0.0.1 -P 9066
Mysql> show @@heartbeat;


RS_CODE为1表示心跳正常
Mysql> show @@datasource; --查看读写分离的机器配置情况

三、 mycat读写分离验证

1、更改日志的输出模式

vi log4j.xml
修改<asyncRoot level="info" includeLocation="true">
为 <asyncRoot level="debug" includeLocation="true">

2、创建表

# mysql -uroot -p123456 -h127.0.0.1 -P 8066
mysql> create table test (id bigint not null primary key,user_id varchar(100),date DATE, fee decimal);

3、插入数据

mysql> insert into test(id,user_id,date,fee)  values(1,@@hostname,20161201,100);
mysql> insert into test(id,user_id,date,fee)  values(5000001,@@hostname,20161202,100);

4、查询观察日志的变化

mysql> select * from test
tail -f wrapper.log

说明读写分离成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值