《Mycat 学习笔记》 番外篇之系统命令 —— reload config

1)基础说明

Mycat (1.5版本)默认开通2个端口,可以在server.xml中进行修改。

8066 数据访问端口,即进行 DML 和 DDL 操作。

9066 数据库管理端口,即 mycat 服务管理控制功能。

Mac 环境验证不通过,mysql 命令连接不到 mycat 服务端。

2)在 schema.xml 文件中增加一个新的数据表配置,下面红字标识

<schema name="TRDB" checkSQLschema="false" sqlMaxLimit="100">

  <table name="t_traveldata" dataNode="dn3,dn4" rule="auto-sharding-long" />

  <table name="t_vote" dataNode="dn3,dn4" rule="ruleProvince" /> 
</schema>

3)通过mysql 连接9066 端口,执行  reload @@config

D:\bin\mysql\MySQL_3308\bin>mysql -u test -ptest -P 9066
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.8-mycat-1.5-beta-20160111170158 MyCat Server (monitor)

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

mysql> reload @@config ;
Query OK, 1 row affected (0.08 sec)
Reload config success

4)查看Mycat.log文件,确认数据加载成功

01/22 14:25:22.548 DEBUG [$_NIOREACTOR-0-RW] (ManagerQueryHandler.java:65) -[thread=$_NIOREACTOR-0-RW,class=ManagerConnection,id=2,host=0:0:0:0:0:0:0:1,port=9066,schema=null]reload @@config
01/22 14:25:22.618 INFO [BusinessExecutor0] (CacheService.java:187) -clear all cache pool
01/22 14:25:22.618 INFO [BusinessExecutor0] (EnchachePool.java:85) -clear cache SQLRouteCache
01/22 14:25:22.622 INFO [BusinessExecutor0] (DefaultLayedCachePool.java:100) -clear cache
01/22 14:25:22.622 INFO [BusinessExecutor0] (EnchachePool.java:85) -clear cache TableID2DataNodeCache.TESTDB_ORDERS
01/22 14:25:22.623 INFO [BusinessExecutor0] (EnchachePool.java:85) -clear cache ER_SQL2PARENTID
01/22 14:25:22.624 WARN [BusinessExecutor1] (ReloadConfig.java:168) -send ok package to client [thread=BusinessExecutor1,class=ManagerConnection,id=2,host=0:0:0:0:0:0:0:1,port=9066,schema=null]

5)Mysql 命令行验证

数据分片规则,hash-int ,默认2个数据结点。

根据province 字段分片,如果值为 10010 进入 datanode2 ,其他数据进行 datanode1 。

即对应  partition-hash-int.txt  中设置的结点编号 0 、1 。

<tableRule name="ruleProvince">
  <rule>
    <columns>province</columns>
    <algorithm>hash-int</algorithm>
  </rule>
</tableRule>

<function name="hash-int" class="org.opencloudb.route.function.PartitionByFileMap">
  <property name="mapFile">partition-hash-int.txt</property>
  <property name="type">0</property>
  <property name="defaultNode">0</property>
</function>

partition-hash-int.txt

10000=0
10010=1
DEFAULT_NODE=1

mysql> CREATE TABLE `t_vote` ( `vid` INT NOT NULL, `province` INT NULL, `data
` VARCHAR(45) NULL, PRIMARY KEY (`vid`));
Query OK, 0 rows affected (0.01 sec)

mysql> insert into t_vote (vid,province,data) values (1,10010,‘row data 10010‘);

Query OK, 1 row affected (0.01 sec)

mysql> insert into t_vote (vid,province,data) values (2,10011,‘row data 10011‘);

Query OK, 1 row affected (0.01 sec)

mysql> insert into t_vote (vid,province,data) values (3,10012,‘row data 10012‘);

Query OK, 1 row affected (0.01 sec)

mysql> explain select * from t_vote;
+-----------+--------------------------------+
| DATA_NODE | SQL |
+-----------+--------------------------------+
| dn1 | SELECT * FROM t_vote LIMIT 100 |
| dn2 | SELECT * FROM t_vote LIMIT 100 |
+-----------+--------------------------------+
2 rows in set (0.00 sec)

mysql> select * from t_vote;
+-----+----------+----------------+
| vid | province | data |
+-----+----------+----------------+
| 1 | 10000 | row data 10000 |     ----> dn1
| 2 | 10011 | row data 10011 |     ----> dn1
| 3 | 10012 | row data 10012 |     ----> dn1
| 5 | 10001 | row data 10001 |     ----> dn1
| 1 | 10010 | row data 10010 |     ----> dn2
+-----+----------+----------------+
5 rows in set (0.01 sec)

6)reload @@config 和  reload @@config_all 差异

reload @@config 会加载schema.xml配置的调整。

reload @@config_all 会加载全局配置文件,包含各类分片规则配置。

时间: 2024-10-17 04:51:48

《Mycat 学习笔记》 番外篇之系统命令 —— reload config的相关文章

《Mycat学习笔记》 第二篇. MySql 读写分离与日志分析——主从多结点

1    环境说明 接上篇环境   <Mycat学习笔记> 第一篇. MySql 读写分离与日志分析——主从单结点 http://www.cnblogs.com/kaye0110/p/5134588.html 增加一套 mysql 实例,端口为3308 ,通过Binlog方式同步主机情况 localhost : 3306 主机,    在mycat 中配置为 writehost 1 localhost : 3307 从机 a ,在mycat 中配置为 readhost localhost :

MyCat 学习笔记 第十篇.数据分片 之 ER分片

1 应用场景 这篇来说下mycat中自带的er关系分片,所谓er关系分片即可以理解为有关联关系表之间数据分片.类似于订单主表与订单详情表间的分片存储规则. 本文所说的er分片分为两种: a. 依据主键进行数据分片,验证发现主表数据保存在第1个datanode中,子表数据根据分片规则存储. b. 依据分片关键字段进行分片,验证发现主表与子表根据分片规则存储,且保存在相同的分片内. 接下来,可以下实际配置与数据验证 2 环境说明 参考  <MyCat 学习笔记>第六篇.数据分片 之 按月数据分片 

MyCat 学习笔记 第十一篇.数据分片 之 分片事务处理

1 环境说明 VM 模拟3台MYSQL 5.6 服务器 VM1 192.168.31.187:3307 VM2 192.168.31.212:3307 VM3 192.168.31.150:  3307 MYCAT 1.5 服务部署在宿主机上 MYCAT 192.168.31.207 :8806[SQL执行端口] / 9066[管理端口] 2 应用场景 2.0 MYCAT配置 schema.xml <schema name="TESTDB" checkSQLschema=&quo

MyCat 学习笔记 第十一篇.数据分片 之 分片数据查询 ( select * from table_name limit 100000,100 )

1 环境说明 VM 模拟3台MYSQL 5.6 服务器 VM1 192.168.31.187:3307 VM2 192.168.31.212:3307 VM3 192.168.31.150:  3307 MYCAT 1.5 服务部署在宿主机上 MYCAT 192.168.31.207 :8806[SQL执行端口] / 9066[管理端口] 2 应用场景 2.0 MYCAT配置 schema.xml <schema name="TESTDB" checkSQLschema=&quo

MyCat 学习笔记 第十三篇.数据分片 之 通过HINT执行存储过程

1 环境说明 VM 模拟3台MYSQL 5.6 服务器 VM1 192.168.31.187:3307 VM2 192.168.31.212:3307 VM3 192.168.31.150:  3307 MYCAT 1.5 服务部署在宿主机上 MYCAT 192.168.31.207 :8806[SQL执行端口] / 9066[管理端口] 2 应用场景 2.0 MYCAT配置 schema.xml <schema name="TESTDB" checkSQLschema=&quo

H5学习_番外篇_PHP数据库操作

1. 文件操作 1.1 打开关闭文件 fopen() resource fopen ( string filename, string mode [, bool use_include_path [, resource zcontext]] )? fopen()函数将resource绑定到一个流或句柄.绑定之后.脚本就能够通过句柄与此资源交互; 例1:以仅仅读方式打开一个位于本地server的文本文件 $fh = fopen("test.txt", "r"); 例2

GTK3学习笔记 番外1 在windows下给gtk程序打包

在没有安装gtk环境的windows系统,如何运行你的gtk程序?这需要给gtk程序打包. 这里给gtk程序打包,主要是将程序依赖的dll文件提取并放置在exe的相同目录下以达到目的. 搜索一段时间后找到,对于gtk2程序,一般需要提取这些dll文件: freetype6.dll intl.dll libatk-1.0-0.dll libcairo-2.dll libexpat-1.dll libfontconfig-1.dll libgailutil-18.dll libgdk-win32-2

《Mycat学习笔记》 第三篇. MySql 主从同步异常后,主从切换

1)系统环境说明 MySql 5.5 主从节点 127.0.0.1:3306   主结点,为验证主从切换效果,手动停止服务 127.0.0.1: 3307    从结点 1 127.0.0.1:338     从结点 2 ,为验证主从切换效果,在主结点停止后,新增两个记录. MyCat 1.5 schema.xml 配置 具体配置说明,参考上篇: <Mycat学习笔记> 第二篇. MySql 读写分离与日志分析——主从多结点 <dataHost name="localhost1

《Mycat学习笔记》 番外篇一.客户端使用latin1字符集,后端MySQL为UTF8字符集,MyCat日志分析。

其实这个番外篇比较无聊——即客户端为lantin字符集,后面MySQL为U8字符集,MyCat在中间到底会起什么作用. 再说下本次验证的环境: Mac OS 10.11.2 MySQL 5.6 MyCat 1.5 OK,开始我们的验证工作. 1) 由于数据库与操作系统已被默认设置为U8编码,计划通过修改Mysql  “character_set_client” 参数调整客户端字符集配置进行验证. 关于MYSQL字符集较全面的介绍,请参考 <mysql_query("set names gb