MyCat环境搭建详细教程

作者:清明雨上~ 时间:2024-01-25 01:16:15 

一、准备工作

1、确保jdk已安装成功,并且jdk版本选用1.7以上版本

2、准备一台新的主机mysql_mycat放到master的前面做代理

mycat ip 192.168.232.13

3、将三台机器互做本地解析

192.168.232.11 mysql_master
192.168.232.12 mysql_slave1
192.168.232.13 mysql_slave2
192.168.232.14 mysql_mycat

架构:
MyCat环境搭建详细教程

二、下载安装mycat

我们通过本地上传mycat包来安装mycat

[root@mysql_mycat ~]# tar xf Mycat-server-1.6.5-release-linux.tar.gz -C /usr/local/

cd 到/usr/local目录下,多了一个mycat文件夹

三、编辑配置文件

[root@mysql_mycat conf]# cd mycat/conf

[root@mysql_mycat conf]# vim server.xml

1.server.xml

<user name="mycat" defaultAccount="true">
               <property name="password">Qf@12345!</property>
               <property name="schemas">testdb</property>

<!-- 表级 DML 权限设置 -->
               <!--            
               <privileges check="false">
                       <schema name="TESTDB" dml="0110" >
                               <table name="tb01" dml="0000"></table>
                               <table name="tb02" dml="1111"></table>
                       </schema>
               </privileges>          
                -->
       </user>
       <!--只读用户-->
       <user name="mycat_read">
               <property name="password">Qf@12345!</property>
               <property name="schemas">TESTDB</property>
               <property name="readOnly">true</property>
       </user>

2.编辑schema.xml

[root@mysql_mycat conf]# vim 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" dataNode="dn1"></schema>

<dataNode name="dn1" dataHost="localhost1" database="testdb"/>

<dataHost name="localhost1" maxCon="1000" minCon="10" balance="3" writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
<heartbeat>select user()</heartbeat>

<writeHost host="mysql_master" url="192.168.232.11:3306" user="mycat" password="Qf@12345!" >
<readHost host="mysql_slave1" url="192.168.232.12:3306" user="mycat" password="Qf@12345!" />
</writeHost>
</dataHost>
</mycat:schema>

注意:一定要严格遵守标签开始和结尾格式,否则会报错导致mycat启动后自动关闭

3.在mysql_mycat上创建库


mysql> create database testdb;

mysql> use testdb;

mysql> create table testdb.t1(id int);

mysql> insert into testdb.t1 values(1);

4.在master上给用户授权

[root@mysql_master ~]# mysql -uroot -p

mysql> grant all on testdb.* to mycat@'%' identified by 'Qf@12345!';

mysql> flush privileges;

5.在mycat机器上测试mycat用户登录master

[root@mysql_mycat ~]# mysql -umycat -p'Qf@12345!' -h mysql_master

登录上之后不进行任何操作,直接退出

6.在wrapper.conf中添加

[root@mycat mycat]# cd conf/

[root@mysql_mycat conf]# vim wrapper.conf

#在设置JVM哪里添加如下内容

wrapper.startup.timeout=300 //超时时间300秒

启动:

[root@mysql_mycat mycat]# bin/mycat start
Starting Mycat-server...
[root@mysql_mycat mycat]# jps
3814 Jps
3801 WrapperSimpleApp

再次启动jps查看,如果进程丢失一个,则是因为jdk版本问题,更换jdk

四、卸载重新安装jdk

1.卸载原有jdk版本

[root@mysql_mycat mycat]# java -version

查看jdk所有包

[root@mysql_mycat ~]# rpm -qa | grep openjdk

卸载:[root@mysql_mycat ~]# rpm -qa | grep openjdk |xargs rpm -e --nodeps

再查看:[root@mysql_mycat ~]# rpm -qa | grep openjdk

发现jdk已全部删除

2.安装新jdk1.8

(1)从本地上传jdk文件压缩包

MyCat环境搭建详细教程

(2)解压缩

[root@mysql_mycat ~]# tar xzf jdk-8u162-linux-x64.tar.gz -C /usr/local/

[root@mysql_mycat ~]# cd /usr/local/

[root@mysql_mycat local]# mv jdk1.8.0_162/ java

(3)设置环境变量

[root@mysql_mycat ~]# vim /etc/profile
export JAVA_HOME=/usr/local/java
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

然后使之生效:

[root@mysql_master local]# source /etc/profile

(4)查看java版本

[root@mysql_mycat ~]# java -version
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)

五、开启mycat

[root@mysql_mycat mycat]# bin/mycat start
[root@mysql_mycat mycat]# jps
7173 WrapperSimpleApp
7189 Jps
查看8066端口
[root@mysql_mycat ~]# netstat -lntp | grep java

(1)将master当做mycat的客户端

[root@mysql_master ~]# mysql -umycat -hmysql_mycat -p'Qf@12345!' -P 8066

六、常见问题

1.在master上登录:mysql -umycat -hmysql_mycat -p'Qf@12345!' -P 8066

2.若出现连接失败,大概率是mycat未启动

3.cd到/mycat/bin/mycat目录,start启动

4.查看jps,有两个进程,启动成功

5.多行注释: <![CDATA[---内容---]]>

6.mycat配置的密码是Qf@12345! 7.插入数据操作在mycat端

七、show tables报错

如果在show table报错:mysql> show tables;ERROR 3009 (HY000): java.lang.IllegalArgumentException: Invalid DataSource:0解决方式:登录master服务将mycat的登录修改为%mysql> update user set Host = '%' where User = 'mycat' and Host = 'localhost';Query OK, 1 row affected (0.00 sec)Rows matched: 1 Changed: 1 Warnings: 0mysql> flush privileges;或者在授权用户mycat权限为*.*

来源:https://www.cnblogs.com/qsmm/archive/2022/10/31/16844836.html

标签:MyCat环境搭建
0
投稿

猜你喜欢

  • 深度解读Python如何实现dbscan算法

    2023-12-22 01:31:50
  • 如何编写一个基于WEB的文件查询系统?

    2009-11-08 18:55:00
  • 解决Python一行输出不显示的问题

    2021-05-19 19:21:46
  • mysql myisam 优化设置

    2010-03-25 10:18:00
  • Python 私有属性和私有方法应用场景分析

    2023-12-06 05:36:42
  • Python的logging模块基本用法

    2021-01-06 07:39:52
  • python机器学习实现决策树

    2021-04-21 07:44:34
  • python 使用OpenCV进行曝光融合

    2022-03-13 05:23:37
  • Python *args和**kwargs用法实例解析

    2023-01-16 18:30:55
  • asp fso操作类

    2011-03-07 10:57:00
  • mysql命令行中执行sql的几种方式总结

    2024-01-14 16:11:33
  • python+selenium+chromedriver实现爬虫示例代码

    2021-03-05 02:53:23
  • Thinkphp5.1获取项目根目录以及子目录路径的方法实例讲解

    2023-11-20 00:55:58
  • PyTorch之nn.ReLU与F.ReLU的区别介绍

    2021-01-19 04:47:24
  • 在Oracle 8x实现自动断开后再连接

    2010-07-26 13:03:00
  • SQLServer 游标简介与使用说明

    2009-07-02 13:53:00
  • pycharm 使用anaconda为默认环境的操作

    2023-10-08 12:37:25
  • 在Pandas DataFrame中插入一列的方法实例

    2021-08-17 19:39:18
  • Python实现识别图片为文字的示例代码

    2022-01-02 14:57:48
  • JavaScript 函数惰性载入的实现及其优点介绍

    2024-04-16 09:25:37
  • asp之家 网络编程 m.aspxhome.com