1、环境准备
jdk
mysql
2、下载
下载地址:http://dl.mycat.org.cn/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
下载后解压即可
3、修改配置文件
1)目录中需要修改文件:schema.xml server.xml
2) server.xml 可以修改mycat的用户名,密码,库的名字
3) schema.xml
schema.xml 中会有很多内容,此次针对一主一从,只保留一个节点的配置
<1> 在 标签中添加 dataNode=“dn1” 定义一个节点的名称,在高版本中默认添加了这个
<2> 标签中 name 对应 标签中 dataNode 值,dataHost 值 自定义,database 的值为mysql数据库的名字
<3> 标签中name 对应 标签中dataHost 的值,在该标签下:
为心跳监测,从机会向主机发送心跳监测
为写主机, 为读从机
4、测试数据库正常使用
测试命令:mysql -uroot -padmin -h 127.0.0.1 -P 3306
5、启动mycat
进入mycat :bin目录
控制台启动:./mycat console 可以看到启动日志
后台启动:./mycat start
采用控制台启动:
6、测试是否连接成功
连接进入mycat:mysql -umycat -p123456 -h192.168.10.146 -P 8066
mycat 的连接信息在server.xml中配置,默认端口号 8066
7、配置主从复制
在 主 服务器中配置:
1) vi /etc/my.cnf
server-id=1
#启动binlog日志
log-bin=mysql-bin
#选择不主从复制的库(可以有多个)
binlog-ignore-db=mysql
#选择要进行主从复制的库
binlog-do-db=testdb
#选择主从复制的规则,还有其他两个,各有优缺点,在此不列出了
binlog_format=STATEMENT
在 从 服务器中配置
2) vi /etc/my.cnf
#从服务器唯一id
server-id=2
#启用中继日志
relay-log=mysql-relay
注意放入位置,应该在[mysqld]下面,在其他地方,start slave 时会报空的问题
8、重启数据库
1)首先重启两个数据库:systemctl restart mysqld
查看数据状态: systemctl status mysqld
当显示图下状态时证明mysql正常启动
9、授权给从机
2)连接主机: mysql -uroot -padmin
3) 授权给从机:GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY '123456';
4)查看主机状态: show master status;
10、配置从数据库
5) 连接从数据库: mysql -uroot -padmin
6)直接执行下面sql语句:
CHANGE MASTER TO
MASTER_HOST='192.168.10.146',
MASTER_USER='slave',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=1142;
注意上面的信息都是前面步骤获得的。。。
11、启动主从复制
7)在从服务器中启动: start slave;
附加:关闭主从复制:stop slave;
重置主从复制: reset slave;
8)查看是否启动成功
当标记处都为ok标识启动成功,如果没有启动成功,会在下面有错误原因打印
12、启动读写分离
9)在schema.xml 中有一处
当balance 为 3 时,针对一主一从,读操作 在从数据库中执行,写、改、加 操作在主数据库中执行
10)执行完毕后重启mycat