1.mycat介绍
是一个开源的分布式数据库系统,主要作用是实现数据库的读写分离。适用于并发量大,单机已经不能出来该数量的并发请求。
2.部署mycat
2.1节点规划
ip | 主机名 | 节点 |
192.168.119.216 | db1 | mariadb主节点 |
192.168.119.217 | db2 | mariadb从节点 |
192.168.119.218 | mycat | mycat中间件 |
2.2映射配置
三台机器都配置映射
2.3主从配置
db1和db2进行主从配置。
关闭db1和db2的防火墙
[root@db1 ~]# setenforce 0
[root@db1 ~]# systemctl stop firewalld
在db1上授予权限
grant all privileges on *.* to root@'%' identified by "123456"; 授权任何客户端可以以root身份登录数据库
grant replication slave on *.* to 'user'@'db2' identified by '123456'; 创建user用户并授权从节点同步主节点数据库的权限
在db2上配置slave
MariaDB [(none)]> change master to master_host='db1',master_user='user',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=527;
在db2上启动服务并查看,显示两个 YES表示配置完成
3.配置mycat
3.1安装java环境
mycat依赖于java环境,所以需要安装jdk
[root@mycat ~]# yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
3.2解压mycat
将下载好的mycat解压
[root@mycat ~]# tar zxvf Mycat-server-1.7.0-DEV-20170416134921-linux.tar.gz -C /usr/local/
3.3授予目录权限
[root@mycat ~]# chown -R 777 /usr/local/mycat/ 授权
[root@mycat ~]# echo export MYCAT_HOME=/usr/local/mycat/ >> /etc/profile 配置变量
[root@mycat ~]# source /etc/profile 立刻生效
3.4配置文件
进入conf目录修改配置文件
将schema.xml文件修改成如下
将server.xml文件修改成如下
<!--
<user name="user">
<property name="password">user</property>
<property name="schemas">TESTDB</property>
<property name="readOnly">true</property>
</user>
-->注释掉
3.5启动服务
进入bin目录启动服务并下载MariaDB-client服务
[root@mycat ~]# ./mycat start
[root@mycat ~]# yum install -y MariaDB-client
3.6验证服务
可以使用netstat -ntpl查看8066端口和9066端口是否启动
登录数据库查看是否同步
查看读写分离是否完成
[root@mycat bin]# mysql -h127.0.0.1 -P9066 -uroot -p123456 -e 'show @@datasource;'
至此,读写分离部署完成。