一、下载sharding-proxy二进制压缩包。
1、下载地址:https://shardingsphere.apache.org/document/current/cn/downloads/
我下载的是4.0.1版本。
如下图:
2、解压:
注意事项:
(1)解压工具最好选择winrar,不然解压出来的lib文件夹下的jar包由于命名太长而被截断,后面会导致文件找不到,导致系统启动失败。
(2)解压后的路径不要有中文,否则也会导致启动失败。
(3)如果其他解压工具导致解压出来的lib文件夹下的jar包异常,如下:
你看,lib下的jar包是有问题的,怎么办?别急,我们可以去maven中央仓库再把它们下载下来就行了。将每个有问题的jar包名复制下来,然后去maven中央仓库搜索,喏,链接在这里:https://mvnrepository.com/
然后将下载下来的jar包放进lib文件夹里,再删掉原来有问题的jar包就可以了。
记得这里还要加入mysql驱动包。
二、配置文件
1、打开conf下的server.yaml文件,把下面这部分的注释打开。
2、打开conf下的config-sharding.yaml文件,把下面这部分的注释打开,配置好数据源、账户和密码等。初学者可以直接用它默认的配置也行,这里是分两个库、每个库两个表。
由上图可以看出,这里是根据user_id分库,order_id分表。
3、配置完成后,如果你使用的是它默认配置的数据源,而你本地数据库原来是没有这两个库的,记得在本地数据库(默认3306端口)建好那两个库。
4、配置好以后,接下来,找到bin目录下的stat.bat文件,双击启动应用。
启动成功。
三、使用navicat客户端连接
接下来在navicat中新建连接,端口号是3307,用户名:root,密码:root。
(注意:navicat建议使用Navicat Premium 11版本的,不要用Navicat Premium 12版本的,否则会出问题,上次在这里被坑惨了,谨记。)
连接成功后,我们会发现它已经自动生成了sharding_db这个库,这就是我们的代理库。
然后我们可以在这个库里建表,下面我们建一个t_order表作为例子讲解:
CREATE TABLE t_order
(
order_id
bigint(20) NOT NULL AUTO_INCREMENT,
user_id
int(11) NOT NULL,
status
varchar(50) COLLATE utf8_bin DEFAULT NULL,
PRIMARY KEY (order_id
)
) ENGINE=InnoDB AUTO_INCREMENT=279205305122816001 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
建好之后,刷新本地3306端口的那两个库,可以看到,这里已经自动根据规则建好了分表。
然后我们再在3307代理库的表中添加一些数据:
INSERT INTO t_order
(order_id
, user_id
, status
) VALUES (11, 0, ‘2’);
INSERT INTO t_order
(order_id
, user_id
, status
) VALUES (12, 1, ‘2’);
INSERT INTO t_order
(order_id
, user_id
, status
) VALUES (13, 0, ‘2’);
现在再看看3306,数据已自动根据规则插入到各个分库和分表中。