[root@MyCat conf]# uname -a Linux MyCat 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@RHEL6 ~]# vi /etc/selinux/config [root@RHEL6 ~]# cat /etc/selinux/config | grep disabled # disabled - No SELinux policy is loaded. SELINUX=disabled
SElinux的關閉前端
關閉SELinux的方法: 修改/etc/selinux/config文件中的SELINUX="" 爲 disabled ,而後重啓。java
若是不想重啓系統,使用命令setenforce 0 注: setenforce 1 設置SELinux 成爲enforcing模式 setenforce 0 設置SELinux 成爲permissive模式。node
service iptables stop 重啓後永久性生效: 開啓: chkconfig iptables on 關閉: chkconfig iptables off
利用VMWare的克隆功能,克隆新的服務器。mysql
[root@RHEL6 ~]# cat /etc/udev/rules.d/70-persistent-net.rules # This file was automatically generated by the /lib/udev/write_net_rules # program, run by the persistent-net-generator.rules rules file. # # You can modify it, as long as you keep each rule on a single # line, and change only the value of the NAME= key. # PCI device 0x8086:0x100f (e1000) # PCI device 0x8086:0x100f (e1000) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:54:5e:8d", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" [root@RHEL6 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=00:0c:29:54:5e:8d TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=none IPADDR=192.168.0.184 PREFIX=24
[root@RHEL6 ~]# vi /etc/sysconfig/network [root@RHEL6 ~]# hostname MyCat [root@RHEL6 ~]# su - [root@MyCat ~]# hostname
root@dh1 mysql-5.7.15-linux-glibc2.5-x86_64]# rpm -qa | grep -i mysql mysql-libs-5.1.71-1.el6.x86_64 [root@dh1 mysql-5.7.15-linux-glibc2.5-x86_64]# rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64 [root@dh1 mysql-5.7.15-linux-glibc2.5-x86_64]# rpm -qa | grep -i mysql
root@dh1 mysql-5.7.15-linux-glibc2.5-x86_64]# groupadd mysql [root@dh1 mysql-5.7.15-linux-glibc2.5-x86_64]# useradd -r -g mysql mysql [root@dh1 mysql-5.7.15-linux-glibc2.5-x86_64]# cat /etc/group | grep mysql mysql:x:500: [root@dh1 mysql-5.7.15-linux-glibc2.5-x86_64]# cat /etc/passwd | grep mysql mysql:x:498:500::/home/mysql:/bin/bash
[root@dh1 ~]# tar -xf mysql-5.7.15-linux-glibc2.5-x86_64.tar [root@dh1 ~]# tar -xzf mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz [root@dh1 ~]# cp -a mysql-5.7.15-linux-glibc2.5-x86_64 /usr/local/mysql [root@dh1 ~]# ls /usr/local/mysql/ bin COPYING docs include lib man README share support-files [root@dh1 ~]# mkdir -p /usr/local/mysql/data [root@dh1 ~]# chown -R mysql:mysql /usr/local/mysql/data/ [root@dh1 ~]# chown -R mysql /usr/local/mysql/ [root@dh1 ~]# chgrp -R mysql /usr/local/mysql/
[root@dh1 ~]# vi /etc/my.cnf [root@dh1 ~]# cat /etc/my.cnf [mysqld] basedir =/usr/local/mysql datadir =/usr/local/mysql/data server_id =1 socket =/tmp/mysql.sock lower_case_table_names=1 character-set-server=utf8 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysqld_safe] log-error=/var/log/mysql_dh1.log pid-file=/usr/local/mysql/data/mysqld_dh1.pid [mysql] default-character-set=utf8
[root@dh1 ~]# /usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ 2016-11-25 22:04:54 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize 2016-11-25 22:04:57 [WARNING] The bootstrap log isn't empty: 2016-11-25 22:04:57 [WARNING] 2016-11-25T14:04:54.497735Z 0 [Warning] --bootstrap is deprecated. Please consider using --initialize instead 2016-11-25T14:04:54.500297Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000) 2016-11-25T14:04:54.500307Z 0 [Warning] Changed limits: table_open_cache: 431 (requested 2000)
[root@dh1 ~]# cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql [root@dh1 ~]# chmod +x /etc/rc.d/init.d/mysqld
[root@dh1 ~]# service mysqld status MySQL is not running, but lock file (/var/lock/subsys/mysql[FAILED] [root@dh1 ~]# service mysqld start Starting MySQL. [ OK ]
[root@dh1 ~]# cat /root/.mysql_secret # Password set for user 'root@localhost' at 2016-11-25 22:04:54 hcp(Oz!Nm(7Z [root@dh1 ~]# /usr/local/mysql/bin/mysql -uroot -p Enter password:
mysql> set password=password('system'); Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> grant all privileges on *.* to root@'%' identified by 'system'; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> exit Bye [root@dh1 ~]# /usr/local/mysql/bin/mysql -uroot -p Enter password:
參照以上步驟完成dh二、mycat服務器上mysql數據庫的安裝和配置,主要my.cnf文件中的server_id等差別性配置項。linux
解壓jdk-7u80-linux-x64.gz文件,並配置java的環境變量sql
[root@MyCat ~]# tar xzf jdk-7u80-linux-x64.gz [root@MyCat ~]# mv jdk1.7.0_80/ /usr/local/ 編輯/etc/profile文件 # vim /etc/profile 添加以下內容 export JAVA_HOME=/usr/local/jdk1.7.0_80/ export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar [root@MyCat ~]# source /etc/profile [root@MyCat ~]# java -version java version "1.7.0_80" Java(TM) SE Runtime Environment (build 1.7.0_80-b15) Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
[root@MyCat ~]# useradd mycat [root@MyCat ~]# passwd mycat Changing password for user mycat. New password: BAD PASSWORD: it is based on a dictionary word BAD PASSWORD: is too simple Retype new password: passwd: all authentication tokens updated successfully.
[root@MyCat ~]# tar xzf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz [root@MyCat ~]# mv mycat/ /usr/local/ [root@MyCat ~]# chown -R mycat.mycat /usr/local/mycat/
[root@MyCat ~]# cat /usr/local/mycat/conf/wrapper.conf | grep additional #wrapper.java.additional.1= wrapper.java.additional.1=-DMYCAT_HOME=. wrapper.java.additional.2=-server wrapper.java.additional.3=-XX:MaxPermSize=64M wrapper.java.additional.4=-XX:+AggressiveOpts #wrapper.java.additional.5=-XX:MaxDirectMemorySize=2G wrapper.java.additional.5=-XX:MaxDirectMemorySize=256m wrapper.java.additional.6=-Dcom.sun.management.jmxremote wrapper.java.additional.7=-Dcom.sun.management.jmxremote.port=1984 wrapper.java.additional.8=-Dcom.sun.management.jmxremote.authenticate=false wrapper.java.additional.9=-Dcom.sun.management.jmxremote.ssl=false #wrapper.java.additional.10=-Xmx4G wrapper.java.additional.10=-Xmx512m #wrapper.java.additional.11=-Xms1G wrapper.java.additional.11=-Xms128m
Args數據庫 |
Commentexpress |
-Xmxapache |
設置JVM最大可用內存bootstrap |
-Xms |
設置JVM初始內存 |
-Xmn |
設置年輕代內存大小,整個JVM內存大小=年輕代大小 + 年老代大小 + 持久代大小 ,持久代通常固定大小爲64m,因此增大年輕代後,將會減少年老代大小。此值對系統性能影響較大,官方推薦配置爲整個堆的3/8 |
-Xss |
設置每一個線程的堆棧大小 |
[root@MyCat ~]# vi /usr/local/mycat/conf/server.xml [root@MyCat ~]# cat /usr/local/mycat/conf/server.xml <?xml version="1.0" encoding="UTF-8"?> <!-- - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. --> <!DOCTYPE mycat:server SYSTEM "server.dtd"> <mycat:server xmlns:mycat="http://io.mycat/"> <system> <!--1爲開啓實時統計、0爲關閉 --> <!--<property name="useSqlStat">0</property> --> <!--1爲開啓全加班一致性檢測、0爲關閉 --> <!--<property name="useGlobleTableCheck">0</property> --> <!--<property name="sequnceHandlerType">2</property> --> <!--1爲開啓mysql壓縮協議--> <!--<property name="useCompression">1</property>--> <!--設置模擬的MySQL版本號--> <!--<property name="fakeMySQLVersion">5.6.20</property>--> <!--<property name="processorBufferChunk">40960</property> --> <!--<property name="processorExecutor">32</property> --> <!--默認爲type 0: DirectByteBufferPool | type 1 ByteBufferArena--> <!--<property name="processorBufferPoolType">0</property> --> <!--默認是65535 64K 用於sql解析時最大文本長度 --> <!--<property name="maxStringLiteralLength">65535</property>--> <!--<property name="sequnceHandlerType">0</property>--> <!--<property name="backSocketNoDelay">1</property>--> <!--<property name="frontSocketNoDelay">1</property>--> <!--<property name="processorExecutor">16</property>--> <property name="defaultSqlParser">druidparser</property> <property name="processors">2</property> <property name="serverPort">8066</property> <property name="managerPort">9066</property> <property name="bindIp">0.0.0.0</property> <!--<property name="frontWriteQueueSize">4096</property> --> <!--<property name="idleTimeout">300000</property> --> <!--分佈式事務開關,0爲不過濾分佈式事務,1爲過濾分佈式事務(若是分佈式事務內只涉及全局 表,則不過濾),2爲不過濾分佈式事務,可是記錄分佈式事務日誌--> <!--<property name="handleDistributedTransactions">0</property> --> <!--off heap for merge/order/group/limit 1開啓 0關閉 --> <!--<property name="useOffHeapForMerge">1</property> --> <!-- 單位爲m --> <!--<property name="memoryPageSize">1m</property> --> <!-- 單位爲k --> <!--<property name="spillsFileBufferSize">1k</property> --> <!--<property name="useStreamOutput">0</property> --> <!-- 單位爲m --> <!--<property name="systemReserveMemorySize">384m</property> --> <!--是否採用zookeeper協調切換 --> <!--<property name="useZKSwitch">true</property> --> </system> <!-- 全局SQL防火牆設置 --> <!-- <firewall> <whitehost> <host host="127.0.0.1" user="mycat"/> <host host="127.0.0.2" user="mycat"/> </whitehost> <blacklist check="false"> </blacklist> </firewall> --> <user name="root"> <property name="password">123456</property> <property name="schemas">CCTEST</property> <!-- 表級 DML 權限設置 --> <!-- <privileges check="false"> <schema name="TESTDB" dml="0110" > <table name="tb01" dml="0000"></table> <table name="tb02" dml="1111"></table> </schema> </privileges> --> </user> <user name="user"> <property name="password">user</property> <property name="schemas">CCTEST</property> <property name="readOnly">true</property> </user> <user name="cc"> <property name="password">cc</property> <property name="schemas">CCTEST</property> </user> </mycat:server>
[root@MyCat ~]# vi /usr/local/mycat/conf/schema.xml [root@MyCat ~]# cat /usr/local/mycat/conf/schema.xml <?xml version="1.0"?> <!DOCTYPE mycat:schema SYSTEM "schema.dtd"> <mycat:schema xmlns:mycat="http://io.mycat/"> <schema name="CCTEST" checkSQLschema="false" sqlMaxLimit="100"> <table name="catworld" dataNode="sd1,sd2,sd3" rule="mod-long" /> <table name="catworld4" dataNode="sd1,sd2,sd3,sd4" rule="mod4-long" /> </schema> <dataNode name="sd1" dataHost="dh101" database="my1" /> <dataNode name="sd2" dataHost="dh201" database="my2" /> <dataNode name="sd3" dataHost="dh301" database="my3" /> <dataNode name="sd4" dataHost="dh101" database="my4" /> <dataHost name="dh101" maxCon="100" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> <heartbeat>select user()</heartbeat> <writeHost host="dh1" url="192.168.0.184:3306" user="root" password="system"> <!-- can have multi read hosts --> </writeHost> </dataHost> <dataHost name="dh201" maxCon="100" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> <heartbeat>select user()</heartbeat> <writeHost host="dh2" url="192.168.0.185:3306" user="root" password="system"> <!-- can have multi read hosts --> </writeHost> </dataHost> <dataHost name="dh301" maxCon="100" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> <heartbeat>select user()</heartbeat> <writeHost host="MyCat" url="192.168.0.183:3306" user="root" password="system"> <!-- can have multi read hosts --> </writeHost> </dataHost> </mycat:schema>
[root@MyCat ~]# vi /usr/local/mycat/conf/rule.xml [root@MyCat ~]# cat /usr/local/mycat/conf/rule.xml <?xml version="1.0" encoding="UTF-8"?> <!-- - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. --> <!DOCTYPE mycat:rule SYSTEM "rule.dtd"> <mycat:rule xmlns:mycat="http://io.mycat/"> <tableRule name="mod-long"> <rule> <columns>id</columns> <algorithm>mod-long</algorithm> </rule> </tableRule> <tableRule name="mod4-long"> <rule> <columns>id</columns> <algorithm>mod4-long</algorithm> </rule> </tableRule> <function name="mod-long" class="io.mycat.route.function.PartitionByMod"> <!-- how many data nodes --> <property name="count">3</property> </function> <function name="mod4-long" class="io.mycat.route.function.PartitionByMod"> <!-- how many data nodes --> <property name="count">4</property> </function> </mycat:rule>
[root@dh1 ~]# mysql -uroot -p -h192.168.0.184 Enter password: mysql> create database my1; Query OK, 1 row affected (0.00 sec) mysql> create database my4; Query OK, 1 row affected (0.00 sec) [root@dh2 ~]# mysql -uroot -p -h192.168.0.185 Enter password: mysql> create database my2; Query OK, 1 row affected (0.00 sec) [root@MyCat ~]# mysql -uroot -p -h 192.168.0.183 Enter password: mysql> create database my3; Query OK, 1 row affected (0.00 sec)
[root@MyCat bin]# ./mycat start Starting Mycat-server... 查看端口狀況 [root@MyCat ~]# netstat -ant | grep 8066 tcp 0 0 :::8066 :::* LISTEN
能夠在內網中的其餘服務器上經過如下方式鏈接到MyCat。 [root@MyCat ~]# mysql -ucc -pcc -P8066 -h192.168.0.183 mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.6.29-mycat-1.6-RELEASE-20161028204710 MyCat Server (OpenCloundDB) Copyright (c) 2000, 2016, 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> show databases; +----------+ | DATABASE | +----------+ | CCTEST | +----------+ 1 row in set (0.00 sec) mysql> use CCTEST; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> show tables; +------------------+ | Tables in CCTEST | +------------------+ | catworld | | catworld4 | +------------------+ 2 rows in set (0.00 sec)
mysql> create table catworld4(id int primary key, name varchar(30)); Query OK, 0 rows affected (0.69 sec) mysql> use CCTEST; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> show tables; +------------------+ | Tables in CCTEST | +------------------+ | catworld | | catworld4 | +------------------+ 2 rows in set (0.00 sec) mysql> desc catworld4; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | varchar(30) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 2 rows in set (0.05 sec) mysql> explain desc catworld4; +-----------+----------------+ | DATA_NODE | SQL | +-----------+----------------+ | sd2 | desc catworld4 | +-----------+----------------+ 1 row in set (0.00 sec) mysql> show create table catworld4\G; *************************** 1. row *************************** Table: catworld4 Create Table: CREATE TABLE `catworld4` ( `id` int(11) NOT NULL, `name` varchar(30) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 1 row in set (0.03 sec) ERROR: No query specified mysql> select database(); +------------+ | DATABASE() | +------------+ | CCTEST | +------------+ 1 row in set (0.00 sec) mysql> explain select * from catworld4; +-----------+-----------------------------------+ | DATA_NODE | SQL | +-----------+-----------------------------------+ | sd1 | SELECT * FROM catworld4 LIMIT 100 | | sd2 | SELECT * FROM catworld4 LIMIT 100 | | sd3 | SELECT * FROM catworld4 LIMIT 100 | | sd4 | SELECT * FROM catworld4 LIMIT 100 | +-----------+-----------------------------------+ 4 rows in set (0.15 sec) mysql> explain select count(1) from catworld4; +-----------+----------------------------------------------------+ | DATA_NODE | SQL | +-----------+----------------------------------------------------+ | sd1 | SELECT COUNT(1) AS COUNT0 FROM catworld4 LIMIT 100 | | sd2 | SELECT COUNT(1) AS COUNT0 FROM catworld4 LIMIT 100 | | sd3 | SELECT COUNT(1) AS COUNT0 FROM catworld4 LIMIT 100 | | sd4 | SELECT COUNT(1) AS COUNT0 FROM catworld4 LIMIT 100 | +-----------+----------------------------------------------------+ 4 rows in set (0.00 sec) [root@dh1 ~]# mysql -uroot -p -h192.168.0.184 Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 21 Server version: 5.7.15 MySQL Community Server (GPL) Copyright (c) 2000, 2016, 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> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | my1 | | my4 | | mysql | | performance_schema | | sys | +--------------------+ 6 rows in set (0.00 sec) mysql> use my1; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> show tables; +---------------+ | Tables_in_my1 | +---------------+ | catworld4 | +---------------+ 1 row in set (0.00 sec) mysql> select * from catworld4; +----+------+ | id | name | +----+------+ | 4 | abc | | 8 | abc | +----+------+ 2 rows in set (0.00 sec) mysql> use my4; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> select * from catworld4; +----+------+ | id | name | +----+------+ | 3 | abc | | 7 | abc | +----+------+ 2 rows in set (0.00 sec)
/usr/local/mycat/logs/wrapper.log ---啓動腳本的相關日誌記錄在這裏面 /usr/local/mycat/logs/mycat.log ---java進程的相關日誌記錄在這裏面
[root@MyCat ~]# /usr/local/mycat/bin/mycat { console | start | stop | restart | status | dump } 啓動後能夠經過如下方式確認是否正常 [root@MyCat ~]# netstat -ant | grep 8066 tcp 0 0 :::8066 :::* LISTEN [root@MyCat ~]# cat /usr/local/mycat/logs/wrapper.log
[root@MyCat ~]# netstat -ant | grep 8066 tcp 0 0 :::8066 :::* LISTEN [root@MyCat ~]# grep 66 /usr/local/mycat/conf/server.xml <property name="serverPort">8066</property> <property name="managerPort">9066</property> [root@MyCat ~]# netstat -ant | grep 66 tcp 0 0 :::8066 :::* LISTEN tcp 0 0 :::9066 :::* LISTEN 登陸管理口 [root@MyCat ~]# mysql -ucc -p -P9066 -h 192.168.0.183 Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 Server version: 5.6.29-mycat-1.6-RELEASE-20161028204710 MyCat Server (monitor) Copyright (c) 2000, 2016, 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> 命令總覽 mysql> show @@help; +------------------------------------------+--------------------------------------------+ | STATEMENT | DESCRIPTION | +------------------------------------------+--------------------------------------------+ | show @@time.current | Report current timestamp | | show @@time.startup | Report startup timestamp | | show @@version | Report Mycat Server version | | show @@server | Report server status | | show @@threadpool | Report threadPool status | | show @@database | Report databases | | show @@datanode | Report dataNodes | | show @@datanode where schema = ? | Report dataNodes | | show @@datasource | Report dataSources | | show @@datasource where dataNode = ? | Report dataSources | | show @@datasource.synstatus | Report datasource data synchronous | | show @@datasource.syndetail where name=? | Report datasource data synchronous detail | | show @@datasource.cluster | Report datasource galary cluster variables | | show @@processor | Report processor status | | show @@command | Report commands status | | show @@connection | Report connection status | | show @@cache | Report system cache usage | | show @@backend | Report backend connection status | | show @@session | Report front session details | | show @@connection.sql | Report connection sql | | show @@sql.execute | Report execute status | | show @@sql.detail where id = ? | Report execute detail status | | show @@sql | Report SQL list | | show @@sql.high | Report Hight Frequency SQL | | show @@sql.slow | Report slow SQL | | show @@sql.resultset | Report BIG RESULTSET SQL | | show @@sql.sum | Report User RW Stat | | show @@sql.sum.user | Report User RW Stat | | show @@sql.sum.table | Report Table RW Stat | | show @@parser | Report parser status | | show @@router | Report router status | | show @@heartbeat | Report heartbeat status | | show @@heartbeat.detail where name=? | Report heartbeat current detail | | show @@slow where schema = ? | Report schema slow sql | | show @@slow where datanode = ? | Report datanode slow sql | | show @@sysparam | Report system param | | show @@syslog limit=? | Report system mycat.log | | show @@white | show mycat white host | | show @@white.set=?,? | set mycat white host,[ip,user] | | show @@directmemory=1 or 2 | show mycat direct memory usage | | switch @@datasource name:index | Switch dataSource | | kill @@connection id1,id2,... | Kill the specified connections | | stop @@heartbeat name:time | Pause dataNode heartbeat | | reload @@config | Reload basic config from file | | reload @@config_all | Reload all config from file | | reload @@route | Reload route config from file | | reload @@user | Reload user config from file | | reload @@sqlslow= | Set Slow SQL Time(ms) | | reload @@user_stat | Reset show @@sql @@sql.sum @@sql.slow | | rollback @@config | Rollback all config from memory | | rollback @@route | Rollback route config from memory | | rollback @@user | Rollback user config from memory | | reload @@sqlstat=open | Open real-time sql stat analyzer | | reload @@sqlstat=close | Close real-time sql stat analyzer | | offline | Change MyCat status to OFF | | online | Change MyCat status to ON | | clear @@slow where schema = ? | Clear slow sql by schema | | clear @@slow where datanode = ? | Clear slow sql by datanode | +------------------------------------------+--------------------------------------------+ 58 rows in set (0.00 sec) 命令實例 參考資料: http://uzki.vip/?p=127 mysql> show @@server; +--------------+-------------+--------------+------------+---------------+---------------+---------+--------+ | UPTIME | USED_MEMORY | TOTAL_MEMORY | MAX_MEMORY | RELOAD_TIME | ROLLBACK_TIME | CHARSET | STATUS | +--------------+-------------+--------------+------------+---------------+---------------+---------+--------+ | 17h 17m 57s | 23330192 | 129761280 | 518979584 | 1480955201318 | -1 | utf8 | ON | +--------------+-------------+--------------+------------+---------------+---------------+---------+--------+ 1 row in set (0.01 sec) mysql> show @@threadpool; +------------------+-----------+--------------+-----------------+----------------+------------+ | NAME | POOL_SIZE | ACTIVE_COUNT | TASK_QUEUE_SIZE | COMPLETED_TASK | TOTAL_TASK | +------------------+-----------+--------------+-----------------+----------------+------------+ | Timer | 2 | 0 | 0 | 143511 | 143511 | | BusinessExecutor | 4 | 0 | 0 | 154 | 154 | +------------------+-----------+--------------+-----------------+----------------+------------+ 2 rows in set (0.00 sec) mysql> show @@databases; +----------+ | DATABASE | +----------+ | CCTEST | +----------+ 1 row in set (0.00 sec) mysql> show @@datanode; +------+-----------+-------+-------+--------+------+------+---------+------------+----------+---------+---------------+ | NAME | DATHOST | INDEX | TYPE | ACTIVE | IDLE | SIZE | EXECUTE | TOTAL_TIME | MAX_TIME | MAX_SQL | RECOVERY_TIME | +------+-----------+-------+-------+--------+------+------+---------+------------+----------+---------+---------------+ | sd1 | dh101/my1 | 0 | mysql | 0 | 5 | 100 | 6 | 0 | 0 | 0 | -1 | | sd2 | dh201/my2 | 0 | mysql | 0 | 10 | 100 | 6244 | 0 | 0 | 0 | -1 | | sd3 | dh301/my3 | 0 | mysql | 0 | 10 | 100 | 6245 | 0 | 0 | 0 | -1 | | sd4 | dh101/my4 | 0 | mysql | 0 | 8 | 100 | 6361 | 0 | 0 | 0 | -1 | +------+-----------+-------+-------+--------+------+------+---------+------------+----------+---------+---------------+ 4 rows in set (0.01 sec) mysql> show @@datanode where schema=CCTEST; +------+-----------+-------+-------+--------+------+------+---------+------------+----------+---------+---------------+ | NAME | DATHOST | INDEX | TYPE | ACTIVE | IDLE | SIZE | EXECUTE | TOTAL_TIME | MAX_TIME | MAX_SQL | RECOVERY_TIME | +------+-----------+-------+-------+--------+------+------+---------+------------+----------+---------+---------------+ | sd1 | dh101/my1 | 0 | mysql | 0 | 5 | 100 | 6 | 0 | 0 | 0 | -1 | | sd2 | dh201/my2 | 0 | mysql | 0 | 10 | 100 | 6247 | 0 | 0 | 0 | -1 | | sd3 | dh301/my3 | 0 | mysql | 0 | 10 | 100 | 6248 | 0 | 0 | 0 | -1 | | sd4 | dh101/my4 | 0 | mysql | 0 | 8 | 100 | 6364 | 0 | 0 | 0 | -1 | +------+-----------+-------+-------+--------+------+------+---------+------------+----------+---------+---------------+ 4 rows in set (0.00 sec) mysql> show @@datasource; +----------+-------+-------+---------------+------+------+--------+------+------+---------+-----------+------------+ | DATANODE | NAME | TYPE | HOST | PORT | W/R | ACTIVE | IDLE | SIZE | EXECUTE | READ_LOAD | WRITE_LOAD | +----------+-------+-------+---------------+------+------+--------+------+------+---------+-----------+------------+ | sd3 | MyCat | mysql | 192.168.0.183 | 3306 | W | 0 | 10 | 100 | 6250 | 1 | 0 | | sd4 | dh1 | mysql | 192.168.0.184 | 3306 | W | 0 | 13 | 100 | 6372 | 0 | 1 | | sd1 | dh1 | mysql | 192.168.0.184 | 3306 | W | 0 | 13 | 100 | 6372 | 0 | 1 | | sd2 | dh2 | mysql | 192.168.0.185 | 3306 | W | 0 | 10 | 100 | 6249 | 0 | 0 | +----------+-------+-------+---------------+------+------+--------+------+------+---------+-----------+------------+ 4 rows in set (0.00 sec) mysql> show @@connection; +------------+------+---------------+------+------------+------+--------+---------+--------+---------+---------------+-------------+------------+---------+------------+ | PROCESSOR | ID | HOST | PORT | LOCAL_PORT | USER | SCHEMA | CHARSET | NET_IN | NET_OUT | ALIVE_TIME(S) | RECV_BUFFER | SEND_QUEUE | txlevel | autocommit | +------------+------+---------------+------+------------+------+--------+---------+--------+---------+---------------+-------------+------------+---------+------------+ | Processor0 | 6 | 192.168.0.183 | 9066 | 40647 | cc | NULL | utf8:33 | 345 | 6074 | 305 | 4096 | 0 | | | +------------+------+---------------+------+------------+------+--------+---------+--------+---------+---------------+-------------+------------+---------+------------+ 1 row in set (0.00 sec) mysql> show @@sql; Empty set (0.00 sec) mysql> show @@sql.high; Empty set (0.00 sec) mysql> show @@sql.sum.table; Empty set (0.00 sec) mysql> show @@heartbeat; +-------+-------+---------------+------+---------+-------+--------+---------+--------------+---------------------+-------+ | NAME | TYPE | HOST | PORT | RS_CODE | RETRY | STATUS | TIMEOUT | EXECUTE_TIME | LAST_ACTIVE_TIME | STOP | +-------+-------+---------------+------+---------+-------+--------+---------+--------------+---------------------+-------+ | MyCat | mysql | 192.168.0.183 | 3306 | 1 | 0 | idle | 0 | 0,0,0 | 2016-12-06 17:48:14 | false | | dh2 | mysql | 192.168.0.185 | 3306 | 1 | 0 | idle | 0 | 0,0,0 | 2016-12-06 17:48:14 | false | | dh1 | mysql | 192.168.0.184 | 3306 | 1 | 0 | idle | 0 | 0,0,0 | 2016-12-06 17:48:14 | false | +-------+-------+---------------+------+---------+-------+--------+---------+--------------+---------------------+-------+ 3 rows in set (0.00 sec) mysql> show @@sysparam; +-------------------------------+--------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | PARAM_NAME | PARAM_VALUE | PARAM_DESCR | +-------------------------------+--------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | processors | 2 | 主要用於指定系統可用的線程數,默認值爲Runtime.getRuntime().availableProcessors()方法返回的值。主要影響processorBufferPool、processorBufferLocalPercent、processorExecutor屬性。NIOProcessor的個數也是由這個屬性定義的,因此調優的時候能夠適當的調高這個屬性。 | | processorBufferChunk | 4096B | 指定每次分配Socket Direct Buffer的大小,默認是4096個字節。這個屬性也影響buffer pool的長度。 | | processorBufferPool | 2097152B | 指定bufferPool計算 比例值。因爲每次執行NIO讀、寫操做都須要使用到buffer,系統初始化的時候會創建必定長度的buffer池來加快讀、寫的效率,減小創建buffer的時間 | | processorBufferLocalPercent | 100 | 就是用來控制分配這個pool的大小用的,但其也並非一個準確的值,也是一個比例值。這個屬性默認值爲100。線程緩存百分比 = bufferLocalPercent / processors屬性。 | | processorExecutor | 4 | 主要用於指定NIOProcessor上共享的businessExecutor固定線程池大小。mycat在須要處理一些異步邏輯的時候會把任務提交到這個線程池中。新版本中這個鏈接池的使用頻率不是很大了,能夠設置一個較小的值。 | | sequnceHandlerType | 本地文件方式 | 指定使用Mycat全局序列的類型。 | | Mysql_packetHeaderSize | 4B | 指定Mysql協議中的報文頭長度。默認4 | | Mysql_maxPacketSize | 16M | 指定Mysql協議能夠攜帶的數據最大長度。默認16M | | Mysql_idleTimeout | 30分鐘 | 指定鏈接的空閒超時時間。某鏈接在發起空閒檢查下,發現距離上次使用超過了空閒時間,那麼這個鏈接會被回收,就是被直接的關閉掉。默認30分鐘 | | Mysql_charset | utf8 | 鏈接的初始化字符集。默認爲utf8 | | Mysql_txIsolation | REPEATED_READ | 前端鏈接的初始化事務隔離級別,只在初始化的時候使用,後續會根據客戶端傳遞過來的屬性對後端數據庫鏈接進行同步。默認爲REPEATED_READ | | Mysql_sqlExecuteTimeout | 300秒 | SQL執行超時的時間,Mycat會檢查鏈接上最後一次執行SQL的時間,若超過這個時間則會直接關閉這鏈接。默認時間爲300秒 | | Mycat_processorCheckPeriod | 1秒 | 清理NIOProcessor上先後端空閒、超時和關閉鏈接的間隔時間。默認是1秒 | | Mycat_dataNodeIdleCheckPeriod | 300秒 | 對後端鏈接進行空閒、超時檢查的時間間隔,默認是300秒 | | Mycat_dataNodeHeartbeatPeriod | 10秒 | 對後端全部讀、寫庫發起心跳的間隔時間,默認是10秒 | | Mycat_bindIp | 0.0.0.0 | mycat服務監聽的IP地址,默認值爲0.0.0.0 | | Mycat_serverPort | 8066 | mycat的使用端口,默認值爲8066 | | Mycat_managerPort | 9066 | mycat的管理端口,默認值爲9066 | +-------------------------------+--------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 18 rows in set (0.00 sec)