mycat高可用
来源:互联网 发布:淘宝的会员俱乐部在哪 编辑:程序博客网 时间:2024/06/11 02:50
一、安装并配置java环境
1、安装jdk
tar xvf jdk-8u131-linux-x64.tar.gz
mkdir -p /usr/local/java
mv jdk1.8.0_131 /usr/local/java/
chown -R root:root /usr/local/java
2、配置环境变量
vim /etc/profile
export JAVA_HOME=/usr/local/java/jdk1.8.0_131
export PATH=
export CLASSPATH=.:
source /etc/profile
二、mycat的安装
tar vxf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
mv mycat /usr/local
groupadd mycat
useradd -g mycat mycat
passwd mycat
chown -R mycat.mycat /usr/local/mycat
vim /etc/profile
export MYCAT_HOME=/usr/local/mycat
source /etc/profile
三、配置mycat的配置文件
关于配置文件,conf目录下主要以下三个需要熟悉。
server.xml是Mycat服务器参数调整和用户授权的配置文件
schema.xml是逻辑库定义和表以及分片定义的配置文件
rule.xml是分片规则的配置文件
cd /usr/local/mycat/conf
1、vim wrapper.conf
wrapper.java.command=%JAVA_HOME%/bin/java
2、vim server.xml
<property name="serverPort">8066</property> <property name="managerPort">9066</property> <property name="idleTimeout">300000</property> <property name="bindIp">0.0.0.0</property> <property name="frontWriteQueueSize">4096</property> <property name="processors">32</property> <user name="test"> <property name="password">test</property> <property name="schemas">TESTDB</property> </user>
3、vim schema.xml
</schema> <!-- <dataNode name="dn1$0-743" dataHost="localhost1" database="db$0-743" /> --> <dataNode name="dn1" dataHost="localhost1" database="db1" /> <dataNode name="dn2" dataHost="localhost1" database="db2" /> <dataNode name="dn3" dataHost="localhost1" database="db3" /> <!--<dataNode name="dn4" dataHost="sequoiadb1" database="SAMPLE" /> <dataNode name="jdbc_dn1" dataHost="jdbchost" database="db1" /> <dataNode name="jdbc_dn2" dataHost="jdbchost" database="db2" /> <dataNode name="jdbc_dn3" dataHost="jdbchost" database="db3" /> --> <dataHost name="localhost1" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> <heartbeat>select user()</heartbeat> <!-- can have multi write hosts --> <writeHost host="server1" url="127.0.0.1:3306" user="root" password="westos">
4、启动mycat
/usr/local/mycat/bin/mycat start
/usr/local/mycat/bin/mycat stop
/usr/local/mycat/bin/mycat restart
四、测试
1、登陆数据库并创建表
mysql> create database db1;mysql> create database db2;mysql> create database db3;create table travelrecord (id bigint not null primary key,user_id varchar(100),traveldate DATE, fee decimal,days int);insert into travelrecord(id,user_id,traveldate,fee,days) values(1,'Victor',20160101,100,10);insert into travelrecord(id,user_id,traveldate,fee,days) values(5000001,'Job',20160102,100,10);insert into travelrecord(id,user_id,traveldate,fee,days) values(10000001,'Slow',20160103,100,10);mysql> use db1;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedmysql> select * from travelrecord;+----+---------+------------+------+------+| id | user_id | traveldate | fee | days |+----+---------+------------+------+------+| 1 | Victor | 2016-01-01 | 100 | 10 |+----+---------+------------+------+------+1 row in set (0.00 sec)mysql> use db2;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedmysql> select * from travelrecord;+---------+---------+------------+------+------+| id | user_id | traveldate | fee | days |+---------+---------+------------+------+------+| 5000001 | Job | 2016-01-02 | 100 | 10 |+---------+---------+------------+------+------+1 row in set (0.00 sec)mysql> use db3;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedmysql> select * from travelrecord;+----------+---------+------------+------+------+| id | user_id | traveldate | fee | days |+----------+---------+------------+------+------+| 10000001 | Slow | 2016-01-03 | 100 | 10 |+----------+---------+------------+------+------+1 row in set (0.00 sec)
2、使用test登陆
mysql -utest -ptest -h127.0.0.1 -P8066 -DTESTDB
mysql> show databases;+----------+| DATABASE |+----------+| TESTDB |+----------+1 row in set (0.00 sec)mysql> show tables; -> ;ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'tables;' at line 1mysql> show tables;+------------------+| Tables in TESTDB |+------------------+| company || customer || customer_addr || employee || goods || hotnews || orders || order_items || travelrecord |+------------------+9 rows in set (0.00 sec)mysql> select * from travelrecord;+----------+---------+------------+------+------+| id | user_id | traveldate | fee | days |+----------+---------+------------+------+------+| 5000001 | Job | 2016-01-02 | 100 | 10 || 10000001 | Slow | 2016-01-03 | 100 | 10 || 1 | Victor | 2016-01-01 | 100 | 10 |+----------+---------+------------+------+------+3 rows in set (0.12 sec)
五、总结
1、通过mycat组件可以实现多个数据库的同步,并且只要配置好mycat其他数据库的操作就很简单,减少了配置难度和时间问题。
2、mycat 的server.xml 以及schema.xml 两个文件中的各参数意义很关键,是理解基本的mycat操作的核心。
- mycat高可用
- mycat介绍02-mycat高可用配置
- 高可用架构篇 MyCat集群部署(HAProxy + MyCat)
- 高可用架构篇 MyCat集群部署(HAProxy + MyCat)
- HaProxy+keepalived+mycat集群高可用配置
- HaProxy+Keepalived+Mycat高可用群集配置
- Mycat+keepalived+haporxy 高可用群集配置
- Mycat高级进阶---高可用与集群
- haproxy+mycat搭建高可用数据库
- HaProxy+keepalived+mycat分布式高可用架构
- MySQL 高可用:mysql+mycat实现数据库分片(分库分表)
- Mycat HA(高可用) 与 LB(负载均衡)
- MySQL 高可用:mysql+mycat实现数据库分片(分库分表)
- MySQL 高可用:mysql+mycat实现数据库分片(分库分表)
- Mycat之——高可用负载均衡集群的实现(HAProxy + Keepalived + Mycat)
- Mycat系列—Mycat 的高可用与负载均衡架构
- mycat高可用 ER分片的2种场景详细分析
- mysql+mycat搭建稳定高可用集群,负载均衡,主备复制,读写分离
- asp.net 浏览器与服务器关联
- ConstraintLayout使用解析并去掉ConstraintLayout的默认布局方式
- 移动端一像素的边框问题
- 解决mvc 获取jquery ajax 传参问题
- 九度oj-1065-打印梯形
- mycat高可用
- jmeter summary report 字段意思和设置集合点解释
- 51Nod 1072 威佐夫游戏
- 利用Map.EntrySet遍历
- 什么是Scrum?
- Java 内存分配浅析
- 虚拟linux环境下h5py的安装与使用
- 解决systemback 无法生成超过4G的iso的问题
- 线程、锁、线程池