准备起码三台服务器我这里准备了

  • 192.168.0.63   mycat
  • 192.168.0.64   主
  • 192.168.0.65   从
如果是在多台 Linux 系统中组建的 MyCAT 集群,那需要在 MyCAT Server 所在的服务器上配置对
其他 IP 和主机名的映射,配置方式如下:
vi /etc/hosts
例如:我有 3 台机器,配置如下:
IP 主机名:
192.168.0.63 xuegod63.cn
192.168.0.64 xuegod64.cn
192.168.0.65 xuegod65.cn
编辑完后,保存文件

然后是部署环境下载jbk和mycat,然后上传,

新建/usr/java/文件夹将jdk-8u321-linux-x64.tar.gz解压到该目录

[root@xuegod63 ~]# mkdir /usr/java
[root@xuegod63 ~]# tar xf jdk-8u321-linux-x64.ta
r.gz -C /usr/java/


配置jdk环境变量 在vim /etc/profile.d/java.sh 底部加入如下内容:

JAVA_HOME=/usr/java/jdk1.8.0_321
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
export PATH JAVA_HOME CLASSPATH

然后使环境变量生效

[root@xuegod63 ~]# source /etc/profile.d/java.sh  #使环境生效
[root@xuegod63 ~]# java -version #查看java版本
java version "1.8.0_321"
Java(TM) SE Runtime Environment (build 1.8.0_321-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.321-b07, mixed mode)

,然后把mycat压缩包解压到/usr/local/下
[root@xuegod63 ~]# tar xf Mycat-server-1.5-RELEASE-0301083012-linux.tar.gz -C /usr/local/

然后创建mycat用户并修改密码,再修改权限

[root@xuegod63 ~]# useradd mycat && echo 123456 | passwd --stdin mycat

[root@xuegod63 ~]# chown -R mycat.mycat /usr/local/mycat

配置mycat环境变量MYCAT_HOME,在/etc/profile.d 目录下创建 mycat.sh 文件,并写入如下。

[root@xuegod63 local]# vim /etc/profile.d/mycat.sh 

MYCAT_HOME=/usr/local/mycat PATH=$MYCAT_HOME/bin:$PATH

 使环境变量生效

[root@xuegod63 local]# source /etc/profile.d/mycat.sh
然后就是mycat修改/usr/local/mycat/conf/中的两大表server.xml和schema.xml

备份cp -a server.xml server.xml.bak 
修改server.xml
备份cp -a schema.xml schema.xml.bak
修改schema.xml
然后到/usr/local/mycat/bin 目录下执行 ./mycat start,即可启动

mycat 服务!
/usr/local/mycat/bin/mycat start
通过日志查看是否启动成功
cat /usr/local/mycat/logs/wrapper.log

 也可以通过查看端口是否启动

然后就是配置mysql主从,参照M-S,其他过程不变,但是两个服务器都要执行以下命令,授予全部权限

grant all privileges on *.* to 'mycat'@"%" identified by "123456"

然后就完成了,测试一下

模拟slave故障,把从服务器挂掉

[root@xuegod64 ~]# systemctl stop mysqld

在客户端上测试读写
[root@xuegod63 ~]# mysql -uroot -p123456 -h 192.168.1.63 -P8066
mysql> use HA;
mysql> select * from test;

说明读操作的路由切换到 master 上了,对外没有任何影响!

模拟 master 故障:主服务器挂掉了
[root@xuegod64 ~]# systemctl stop mysqld
在客户端上测试读写
[root@xuegod63 ~]# mysql -uroot -p123456 -h 192.168.1.63 -P8066
mysql> use HA;
mysql> select * from test;

发现不可以看也不可以写,这个不知道什么原因,我查查以后再做说明。

解决了,是因为63这台服务器我下载了服务端,所以进去的是63的服务端里面,所以连接的不对。只需要上面只有客户端就行

然后也可以查看日志来看这个读写分离的过程

先修改日志阅读模式vim  /usr/local/mycat/conf/log4j.xml

把这个位置的info改成debug

然后可以动态查看日志

tail -f /usr/local/mycat/logs/mycat.log

配置mysql读写分离相关推荐

  1. yii配置mysql_YII2中配置MySQL读写分离

    在实际开发中,为了服务更好的响应,通常会设置数据库的读写分离,主库负责写入更新等操作,从库负责读操作. 以下是yii2中配置mysql读写分离,一主多从设置.设置好后,这些从库其中之一将被建立起连接并 ...

  2. 配置MySQL读写分离架构,采用maxscale

    配置MySQL读写分离架构,采用maxscale 配置MySQL读写分离架构 采用maxscale 下载maxscale 配置MySQL主从架构 配置MySQL主服务器 配置MySQL从服务器 配置m ...

  3. mysql读写分离实现_laravel 配置MySQL读写分离

    前言:说到应对大流量.高并发的解决方案的时候,总会有这样的回答,如:读写分离,主从复制...等,数据库层今天先不讨论,那么今天我们就来看看怎么在应用层实现读写分离. 框架:laravel5.7 说明: ...

  4. atlas mysql_使用Atlas配置MySQL读写分离

    Atlas是360团队弄出来的一套基于MySQL-Proxy基础之上的代理,修改了MySQL-Proxy的一些BUG,并且优化了很多东西.而且安装方便.配置与注释写的都很详细,并且是都是中文,不过从A ...

  5. MyCat 之路 | 配置 Mysql 读写分离+强制走写节点+根据主从延时的读写分离

    数据库读写分离对于大型系统或者访问量很高的互联网应用来说,是必不可少的一个重要功能.对于MySQL来说,标准的读写分离是主从模式,一个写节点Master后面跟着多个读节点,读节点的数量取决于系统的压力 ...

  6. 使用amoeba配置mysql读写分离

    一,背景介绍: Amoeba(变形虫)项目,专注 分布式数据库 proxy 开发.座落与Client.DB Server(s)之间.对客户端透明.具有负载均衡.高可用性.sql过滤.读写分离.可路由相 ...

  7. mysql配置读写分离无效_MySQL数据库的同步配置+MySql 读写分离

    MySQL数据库的同步. MySQL是开源的关系型数据库系统.主从同步复制(Replication)是从一台MySQL数据库服务器(主服务器master)复制数据到另一个服务器(从服务器slave)的 ...

  8. mysql读写分离 同步_MySQL数据库的同步配置+MySql读写分离

    使用mysql主从复制的好处有: 1.采用主从服务器这种架构,稳定性得以提升.如果主服务器发生故障,我们可以使用从服务器来提供服务. 2.在主从服务器上分开处理用户的请求,可以提升数据处理效率. 3. ...

  9. mysql读写分离实现_脱离开发:Mysql读写分离方案之一

    案例:Mysql读写分离 技能目标: · 熟悉MySQL主从复制原理 · 熟悉MySQL读写分离原理 · 学会配置MySQL主从复制 · 学会配置MySQL读写分离 6.1 案例分析 6.1.1 案例 ...

  10. mycat 分表子查询_还不懂MyCat?一文带你深入剖析,实现MySQL读写分离

    前言 系统开发中,数据库是非常重要的一个点.除了程序的本身的优化,如:SQL语句优化.代码优化,数据库的处理本身优化也是非常重要的.主从.热备.分表分库等都是系统发展迟早会遇到的技术问题问题.Myca ...

最新文章

  1. 2021年大数据Kafka(二):❤️Kafka特点总结和架构❤️
  2. Python-OpenCV——亮度和对比度
  3. 使用JFreeChart绘制散点图
  4. 吴恩达机器学习(第三章)——线性代数回顾
  5. 编译服务器home文件夹,离线安装FastDFS-过程填坑
  6. ReenTrantLock可重入锁(和synchronized的区别)总结
  7. vim 插件之commentary
  8. IDEA建立Spring MVC Hello World 详细入门教程
  9. 部门管理系统_什么是实物资产管理系统?优势有哪些?
  10. antd中tooltip换行_ant design 中实现表格头部可删除和添加
  11. 最全干货回顾,一文看尽亚马逊 re:Invent 2020全貌
  12. f77编程和c语言的区别,在fortran中l用F77编译器编译程序时出现问题?
  13. spring 使用 groovy 的 utf-8 问题
  14. 《信号与系统学习笔记》—信号与系统的时域和频域特性(一)
  15. 有1000个一模一样的瓶子,其中有999瓶是普通的水,有1瓶是毒药。任何喝下毒药的生物都会在一星期之后死亡。现在,你只有10只小白鼠和一星期的时间,如何检验出那个瓶子里有毒药?
  16. 小木工 ____农民工纪事之一
  17. Video.js的简单使用介绍
  18. Android:Volley实现参数,字符数组,文件,图片的上传
  19. 怎么才能防止SSL劫持
  20. 简述计算机视觉中的单眼线索,知觉-心理学文章-壹心理

热门文章

  1. 怎么把m4a转换成mp3?
  2. 校园学生管理系统设想
  3. 硬盘分区调整:分区助手专业版易我分区大师专业版软件下载
  4. C++程序设计:字符图形输出(数字三角形)
  5. 垃圾邮件过滤python_手把手教你用 python 和 scikit-learn 实现垃圾邮件过滤-阿里云开发者社区...
  6. 打印机服务器没有响应是怎么回事啊,打印机后台程序没有运行?(打印机后台服务无法启动怎么办?)...
  7. python软件工程师简历范文_嵌入式软件工程师完整简历范文
  8. python怎么安装scrapy_Python-2.7安装Scrapy 1.0爬虫实例
  9. 分享 Android 识音识别 挺有想法的。
  10. UE4 黑洞特效(C++)