MySQL----利用Mycat配置读写分离

2024-06-23 1627阅读
首先确保主从复制是正常的,具体步骤在MySQL----配置主从复制。MySQL----配置主从复制

环境

  • master(CtenOS7):192.168.200.131 ----ifconfig查看->ens33->inet
  • slave(win10):192.168.207.52 ----ipconfig查看->无线局域网适配器 WLAN:-> IPv4 地址
  • 保证两个环境中MySQL版本一致,这里使用8.0
  • 使用Mycat读写分离配置,所以要JDK环境,建议使用JDK1.7版本以上(java -version检查jdk环境)

    MySQL----利用Mycat配置读写分离

  • MySQL的root账户有远程访问权限

    设置

    • 登录到mysql

      MySQL----利用Mycat配置读写分离

    • 选择mysql数据库,使用查看权限select Host,User from user;注意:确保master 和 slave 都允许远程连接

      MySQL----利用Mycat配置读写分离

      MySQL----利用Mycat配置读写分离

    • % 表示可以任何地址来进行连接。如果不是百分号,使用 grant all privileges on *.* to 'root'@'%' identified by 'xxxxx' with grant option; 来修改。xxxxxxx为root的密码。—MySQL 5.x版本 grant all on *.* to 'root'@'%';—MySQL 8x版本

    • 刷新权限flush privileges;

    • 重启mysql服务service mysqld restart

      安装与配置

      安装Mycat

      1. 下载Mycat安装包,大家可以自己寻找,如果需要的话可以留言,我发给大家。
      2. 在linux下载lrzsz可以方便的上传安装包。进入root用户,yum search lrzsz,找到安装包。

        MySQL----利用Mycat配置读写分离

      3. 安装yum install lrzsz.x86_64。
      4. 命令行输入rz,找到安装包所在位置,选择安装包,进行上传安装包。sz下载到windows

        MySQL----利用Mycat配置读写分离

        MySQL----利用Mycat配置读写分离

        MySQL----利用Mycat配置读写分离

      5. 解压tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz;

        MySQL----利用Mycat配置读写分离

        MySQL----利用Mycat配置读写分离

      6. 建立软链接 ln -s /mycat/mycat/bin/mycat /usr/bin/mycat 要找对自己的安装的位置,进行建立。

        MySQL----利用Mycat配置读写分离

      7. 验证是否成功 输入mycat ,会有提示,这时说明成功了。

        MySQL----利用Mycat配置读写分离

      配置

      1. 在mycat下的conf文件夹中找到 server.xml

        MySQL----利用Mycat配置读写分离

      2. vim server.xml
      3. 修改,保存退出 要改为自己的密码

        MySQL----利用Mycat配置读写分离

      4. 使用MySQL 8.x的mysql命令连接Mycat时,在server.xml文件的system标签下必须配置如下选项。
      1
      druidparser
      

      MySQL----利用Mycat配置读写分离

      1. 备份一份schema.xml,cp schema.xml schema.xml.bk
      2. 进入 vim schema.xml ,配置读写分离,分库分表等内容

        MySQL----利用Mycat配置读写分离

      3. :%d删除所有,进行配置
      
      
      
      
      
      
      
      
      select user()
      
      
      
      
      
      
      
      
      
      

      MySQL----利用Mycat配置读写分离

      配置逻辑库USERDB,数据节点 dn1,物理数据库mytest。

      注意:上述黄框里面的内容,要改成自己的ip以及密码,mytest是当前主库,从库主从复制已有的数据库。

      相关参数

      balance:

      “0”:不开启读写分离

      “1”:全部的readHost和stand by writeHost参与select语句的负载

      “2”:所有读操作随机在readHost和writeHost上分发

      “3”:所有读请求随机分发到writeHost对应的readHost上执行

      writeType=“0”:所有写操作发送到配置的第一个writeHost,第一个挂掉切换到还生存的第二个

      writeHost

      switchType:

      “-1”:不自动切换

      “1”:自动切换,根据心跳select user()

      “2”:基于MySQL的主从同步状态决定是否进行切换 show slave status

      1. vim /etc/my.cnf 添加如下内容
      sql_mode=""
      default_authentication_plugin = mysql_native_password
      
      1. 启动mycat,mycat start,查看端口信息 netstat -tanp | grep 66

        MySQL----利用Mycat配置读写分离

      2. 说明端口正常工作了。
      3. 如果有问题,可以查看日志 ,wrapper.log是启动相关的,mycat.log是运行相关的。

        MySQL----利用Mycat配置读写分离

      4. vim * wrapper.log 查看日志

        MySQL----利用Mycat配置读写分离

        MySQL----利用Mycat配置读写分离

      5. 连接成功,如果显示一些连接失败,也可以在日志里面找到原因。

        MySQL----利用Mycat配置读写分离

      端口

      • 8066:数据端口
      • 9066:管理端口
VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]