Mycat 需要安装jdk 1.7 或者以上版本第一步:下载jdk-8u131-linux-x64.tar.gz文件 Http://haixi.sfkcn.com:8080/201704/tools/jdk-linux-x64.tar.gz
服务启动与启动设置
MyCAT在Linux中部署启动时,首先需要在Linux系统的环境变量中配置MYCAT_HOME,操作方式如下:
1)vi /etc/profile,在系统环境变量文件中增加
MYCAT_HOME=/usr/local/mycat PATH=$MYCAT_HOME/bin:$PATH
2) 执行 source /etc/profile 命令,使环境变量生效。
如果是在多台Linux系统中组建的MyCAT集群,那需要在MyCAT Server所在的服务器上配置对其他ip和主机名的映射,配置方式如下:
vi /etc/hosts
例如:我有3台机器,配置如下:
IP 主机名:
192.168.12.110 Master.cn
192.168.12.111 Slave.cn
192.168.12.112 Slave-2.cn
编辑完后,保存文件。
(mycat的用户账号和授权信息是在conf/server.xml文件中配置
Vim /usr/local/mycat/conf/server.xml
编辑MyCAT的配置文件schema.xml,关于dataHost的配置信息如下:
Vim /usr/local/mycat/conf/schema.xml
有两个参数需要注意,balance和 switchType。
其中,balance指的负载均衡类型,目前的取值有4种:
配置MYsql主从
SLAVE上创建数据库和表,用于实现写操作:
[[email protected] ~]# mysql -uroot -p123456
mysql> create database ha;
mysql> use ha;
mysql> create table test(id int,name varchar(20));
mysql> insert into test values(1,’man’);
授权给mycat登陆数据库使用的帐号
mysql> GRANT ALL PRIVILEGES ON . TO ‘mycat‘@"%" IDENTIFIED BY "123456";
mysql> grant replication slave on . to [email protected]"10.10.10.%" identified by "123456";
mysql>flush privileges;
mysqldump –uroot –p123456 -B ha>ha.sql #导出给从库
关闭密码强度审计,在my.cnf添加validate-passWord=off
SLAVE-2上导入数据库和表,用于实现读操作:
[[email protected] ~]# mysql -uroot -p123456
mysql> grant all on db. to [email protected]‘%‘ identified by ‘123456‘;
mysql>flush privileges;
mysql>stop slave; #停止slave
mysql> change master to master_host=‘192.168.12.111‘,master_user=‘slave‘,master_password=‘123456‘;
mysql> start slave; #启动slave
mysql> show slave statusG 查看状态 ,有两个yes主从同步成功!
启动服务MYCAT服务
[[email protected] ~]# /usr/local/mycat/bin/mycat start
测试读写分离
当我们SLAVE挂掉后咋样呢
模拟故障:从服务器挂掉了
[[email protected] ~]# systemctl stop mysqld
在客户端上测试读写
[[email protected] ~]# mysql -uroot -p123456 -h 192.168.12.110 -P8066
mysql> use ha;
mysql> select from t1;
模拟故障:主服务器挂掉了
[[email protected] ~]# systemctl stop mysqld
在客户端上测试读写
[[email protected] ~]# mysql -uroot -p123456 -h 192.168.12.110 -P8066
mysql> create table t3(id int);
ERROR 1184 (HY000): 拒绝连接 #主数据库停止了,是无法写操作的,但不影响读.
mysql> use ha;
mysql> select * from t1;
MySQL-mycat读写分离
原文地址:https://blog.51cto.com/14483703/2511956
--结束END--
本文标题: MySQL-mycat读写分离
本文链接: https://www.lsjlt.com/news/7357.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0