Mycat
官网地址: http://www.mycat.org.cn/
下载对应的 tar/zip
包和 jar
包:
tar/zip
http://dl.mycat.org.cn/2.0/install-template/
jar
http://dl.mycat.org.cn/2.0/1.21-release/
将 jar
包放在解压好的 zip
包先的 bin
目录中
将文件上传到 linux
系统,并修改文件权限防止权限不足启动失败。
修改 Mycat
的 /mycat/conf/datasources/protopyte
下的配置。启动前需要确认 protopyte
数据源对应的 mysql
信息。
Mycat
命令:
./mycat start
./mycat status
./mycat stop
./mycat restart
./mycat pause 暂停
./mycat console 前台运行
./mycat install 添加到系统自动启动
./mycat remove 取消随系统自动启动
登录:
登录 mycat
后台管理,下面的方式用于维护 mycat
。
# 9066 是 mycat 后台管理端口,运维人员常用
mysql -uroot -proot -P 9066
登录数据窗口:
# 8066 是 mycat 访问数据端口,开发人员常用
mysql -uroot -proot -P 8066
help
命令查看帮助信息。
server.json
服务相关的配置文件,一般默认即可mycat/conf/user
下{
"dialect":"mysql",
# 客户端访问 ip,填写后会对客户端的 ip 进行限制
"ip":null,
"password":"123456",
# 初始化事务的隔离级别
# 1:READ_UNCOMMITTED
# 2: READ_COMMITTED
# 3:REPEATED_READ 默认
# 4:SERIALIZABLE
# isolation:
# 事务类型
# proxy, 本地事务
# xa 事务,确认存储节点集群是否支持 xa
"transactionType":"xa",
"username":"root"
}
# 设置事务
set transaction_policy='xa'
# 查看当前事务
select @@transaction_policy
mycat
数据源信息,datasource
目录下的文件{
# 数据库类型
"dbType":"mysql",
# 空闲连接超时时间
"idleTimeout":60000,
# 初始化 sql
"initSqls":[],
# 对于 JDBC 每次连接是否都执行 initSqls
"initSqlsGetConnection":true,
# 配置实例是只读还是读写: READ_WRITE,READ,WRITE
"instanceType":"READ_WRITE",
"maxCon":1000,
"maxConnectTimeout":3000,
"maxRetryCount":5,
"minCon":1,
"name":"prototypeDs",
"password":"123456",
# 数据源类型,默认 JDBC
"type":"JDBC",
# 访问数据库地址
"url":"jdbc:mysql://localhost:3306/mysql?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8",
"user":"root",
# 权重
"weight":0
}
clusters
目录下是集群配置文件的信息。schema
逻辑库表,实现分库分表。主机配置文件:
修改 /etc/my.cnf
文件
# 主服务器唯一 id
server-id=1
# 启用二进制文件
log-bin=mysql-bin
# 设置不要复制的数据库,可设置多个
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
# 设置需要复制数据库的名字
binlog-do-db=需要复制的名字
# 设置 logbin 格式
# STATEMENT 复制 sql
# ROW 记录每一行的改变
# MIXED
binlog_format=STATEMENT
从机的 my.cnf
文件配置:
# 从服务器唯一 id
server-id=2
# 启用中日志
relay-log=mysql-relay
在主机中创建 slavel
用户以及授权:
-- 创建用户
create USER 'slavel'@'%' IDENTIFIED BY '123';
-- 修改密码
ALTER USER 'slavel'@'%' IDENTIFIED WITH mysql_native_password BY '123';
-- 授权
GRANT REPLICATION SLAVE ON *.* TO 'slavel'@'%';
-- 刷新
flush privileges;
-- 查看主机数据
show master status;
在从机上配置需要复制的主机:
# 主机的 ip 地址
CHANGE MASTER TO MASTER_HOST='47.96.69.34',
# 主机的用户名
MASTER_USER='slavel',
# 密码
MASTER_PASSWORD='123',
# 具体的 bin_log 文件
MASTER_LOG_FILE='mysql-bin.000005',
# 接入点
MASTER_LOG_POS=1114;
开启从机服务
start slave;
# 查看是否搭建成功
show slave status\G;
reset master;