MyCAT实现MySQL读写分离


在这里插入图片描述

服务器名IP地址安装软件
Mycat-server192.168.31.8Mysql8.0
Mysql-Master192.168.31.18Mysql8.0
Mysql-Slave192.168.31.28Mysql8.0

1. Mycat安装

1.1 Mysql-server安装

yum install -y java mysql-server
mkdir /apps
cd /apps/

1.2 下载安装mycat

http://dl.mycat.org.cn/
在这里插入图片描述

wget http://dl.mycat.org.cn/1.6.7.6/20210831141727/Mycat-server-1.6.7.6-release-20210831170644-linux.tar.gz
tar xf Mycat-server-1.6.7.6-release-20210831170644-linux.tar.gz

1.3 配置环境变量

echo 'PATH=/apps/mycat/bin:$PATH' >/etc/profile.d/mycat.sh
source /etc/profile.d/mycat.sh

1.4 启动mycat

mycat start

在这里插入图片描述
默认使用8066端口

在这里插入图片描述
修改配置文件

vi /apps/mycat/conf/server.xml

修改端口
在这里插入图片描述
在这里插入图片描述

	<user name="root" defaultAccount="true">
   	<property name="password">Pana#123</property>
   	<property name="schemas">TESTDB</property>

1.5 修改密码

在这里插入图片描述

1.6 修改读写分离配置文件

vi /apps/mycat/conf/schema.xml

1表示读写分离
在这里插入图片描述
指定读写服务器
在这里插入图片描述

vim /apps/mycat/conf/schema.xml
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
    <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" randomDataNode="dn1">
    </schema>
    <dataNode name="dn1" dataHost="localhost1" database="hellodb" />
    <dataHost name="localhost1" maxCon="1000" minCon="10" balance="1"
              writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
        <heartbeat>select user()</heartbeat>
        <writeHost host="host1" url="192.168.31.18:3306" user="root" password="123456">
        <readHost host="host2" url="192.168.31.28:3306" user="root" password="123456"/>
        </writeHost>
    </dataHost>
</mycat:schema>

在这里插入图片描述

2. 创建数据库用户

systemctl start mysqld
mysql -uroot
create database mycat;
create user root@'192.168.31.%' identified by '123456';
grant all on *.* to 'root'@'192.168.31.%';
flush privileges;

在这里插入图片描述

2.1 查看读写日志

show varialbes like 'general_log';			#查看日志是否开启
set global general_log=on;				#开启日志
show varialbes like 'general_log_file';		#查看日志保存位置
set global general_log_file=/var/logs/mysql_general.log		#设置日志保存位置

配置文件中

[mysqld]
general_log=on

2.2 创建账号

在这里插入图片描述
在mycat上添加记录

[18:16:21 root@mycat-server ~]#mysql -uroot -p123456 -h192.168.31.8

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3 写节点上开启日志

在这里插入图片描述

show variables like '%general%';
set global general_log=on;

修改密码

set password for root@localhost =password("Pana#123");

测试

update students set name="Zhazha hui" where stuid=31;

2.4 写节点主节点(18)

cat /var/lib/mysql/master.log
在这里插入图片描述

2.5 读节点从节点(28)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值