下载mycat.linux 版本 linux
安装vmware,centos mini版本 git
vmware centos设置固定IP:http://my.oschina.net/wjgood/blog/391552 github
安装JDK,本身百度搜索吧 sql
安装MySql5.6: http://my.oschina.net/wjgood/blog/665189 数据库
注:能够下载XSHELL、XFTP做为远程链接工具,下载HeidiSQL做为Mysql客户端工具 centos
修改%MycatHOME%/conf/server.xml、%MycatHOME%/conf/schema.xml 工具
重启MyCAT,使用MySQL客户端链接MyCAT,须要注意的是,默认数据端口为8066,管理端口为9066,在MySQL客户端链接MyCAT时,注意填写端口为8066,用户名/密码根据server.xml中的配置进行填写。 spa
使用客户端工具链接Mycat,配置schema.xmlMycat链接具体的数据库。咱们的数据库操做就使用mycat的链接操做。 .net
Mycat官网地址:https://github.com/MyCATApache code
Mycat文档地址:https://github.com/MyCATApache/Mycat-doc
Mycat安装数据库文件:
数据库序列建立
https://github.com/MyCATApache/Mycat-doc/blob/master/MyCat_In_Action_CN.doc
DROP TABLE IF EXISTS MYCAT_SEQUENCE; CREATE TABLE MYCAT_SEQUENCE ( name VARCHAR(50) NOT NULL, current_value INT NOT NULL, increment INT NOT NULL DEFAULT 100, PRIMARY KEY (name) ) ENGINE=InnoDB; -- ---------------------------- -- Function structure for `mycat_seq_currval` -- ---------------------------- DROP FUNCTION IF EXISTS `mycat_seq_currval`; DELIMITER ;; CREATE DEFINER=`root`@`%` FUNCTION `mycat_seq_currval`(seq_name VARCHAR(50)) RETURNS varchar(64) CHARSET latin1 DETERMINISTIC BEGIN DECLARE retval VARCHAR(64); SET retval="-1,0"; SELECT concat(CAST(current_value AS CHAR),",",CAST(increment AS CHAR) ) INTO retval FROM MYCAT_SEQUENCE WHERE name = seq_name; RETURN retval ; END ;; DELIMITER ; -- ---------------------------- -- Function structure for `mycat_seq_nextval` -- ---------------------------- DROP FUNCTION IF EXISTS `mycat_seq_nextval`; DELIMITER ;; CREATE DEFINER=`root`@`%` FUNCTION `mycat_seq_nextval`(seq_name VARCHAR(50)) RETURNS varchar(64) CHARSET latin1 DETERMINISTIC BEGIN DECLARE retval VARCHAR(64); DECLARE val BIGINT; DECLARE inc INT; DECLARE seq_lock INT; set val = -1; set inc = 0; SET seq_lock = -1; SELECT GET_LOCK(seq_name, 15) into seq_lock; if seq_lock = 1 then SELECT current_value + increment, increment INTO val, inc FROM MYCAT_SEQUENCE WHERE name = seq_name for update; if val != -1 then UPDATE MYCAT_SEQUENCE SET current_value = val WHERE name = seq_name; end if; SELECT RELEASE_LOCK(seq_name) into seq_lock; end if; SELECT concat(CAST((val - inc + 1) as CHAR),",",CAST(inc as CHAR)) INTO retval; RETURN retval; END ;; DELIMITER ; -- ---------------------------- -- Function structure for `mycat_seq_setval` -- ---------------------------- DROP FUNCTION IF EXISTS `mycat_seq_setval`; DELIMITER ;; CREATE DEFINER=`root`@`%` FUNCTION `mycat_seq_setval`(seq_name VARCHAR(50), value INTEGER) RETURNS varchar(64) CHARSET latin1 DETERMINISTIC BEGIN DECLARE retval VARCHAR(64); DECLARE inc INT; SET inc = 0; SELECT increment INTO inc FROM MYCAT_SEQUENCE WHERE name = seq_name; UPDATE MYCAT_SEQUENCE SET current_value = value WHERE name = seq_name; SELECT concat(CAST(value as CHAR),",",CAST(inc as CHAR)) INTO retval; RETURN retval; END ;; DELIMITER ; INSERT INTO MYCAT_SEQUENCE VALUES ('GLOBAL', 0, 100); SELECT MYCAT_SEQ_SETVAL('GLOBAL', 1); SELECT MYCAT_SEQ_CURRVAL('GLOBAL'); SELECT MYCAT_SEQ_NEXTVAL('GLOBAL');