1 首先拥有三台机器 一台是主服务器,一台是从服务器,还有一台是部署mycat。
wget --no-cookies \
--no-check-certificate \
--header \
"Cookie: oraclelicense=accept-securebackup-cookie" \
http://download.oracle.com/otn-pub/java/jdk/8u181-\
b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-\
x64.tar.g
从http开始 ,需要在 Java官网中搜
2 解压环境
tar -xf jdk-8u181-linux-x64.tar.gz -C /usr/local
ln -s /usr/local/jdk1.8.0_181/ /usr/local/java
3 配置环境变量
vi /etc/profile.d/java.sh
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
4 使环境变量生效
source /etc/profile
部署 MyCat
wget http://dl.mycat.io/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
解压
tar -xf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz -C /usr/local/
ls /usr/local/mycat/
bin catlet conf lib logs version.txt
配置 MyCat
用户和密码是应用程序连接到 MyCat 使用的,可以自定义配置
其中的schemas 配置项所对应的值是逻辑数据库的名字,也可以自定义,但是这个名字需要和后面 schema.xml 文件中配置的一致。
cd /usr/local/mycat/conf
vim vim server.xml
123456
schema_shark_db
配置 schema.xml
select user()
逻辑库和分表设置
// 数据节点名称
数据节点
dataHost="localhost1" // 主机组
database="shark_db"> // 真实的数据库名称
主机组
这里balance=3
健康检查
select user()
读写配置
这里修改 writeHost......url=“主服务器的IP” user=“用户名” password=“密码”
readHost......url="从服务器的IP" user=“用户名” password=“密码”
配置 log4j2.xml
启动 mycat
/usr/local/mycat/bin/mycat start
在真实的 master 数据库上给用户授权
shark_db 需和
grant all on *.* to root@'%' identified by '123';
flush privileges;
测试
测试是否能正常登录上 主服务器
mysql -uroot -p'123' -h172.16.153.10
继续测试是否能登录上从服务器
mysql -uroot -p'123' -h172.16.153.11
通过客户端进行测试是否能登录到 mycat 上
注意端口号是 8066
shell> mysql -umycatdb -p123456 -P8066 -h172.16.153.162
mysql> show databases;
+-----------------+
| DATABASE |
+-----------------+
| schema_shark_db |
+-----------------+
1 row in set (0.00 sec)
之后查询 mycat 主机上 mycat 安装目录下的 logs/mycat.log 日志。
在日志重搜索查询的语句或者查询 从库的 ip 地址,应该能搜索到