mycat2的入门配置和使用

一、安装jdk1.8

#sudo apt-cache search 想要安装的模糊包名
sudo apt-cache search java sdk
default-jdk-headless - Standard Java or Java compatible Development Kit (headless)
libreoffice-dev-doc - office productivity suite -- SDK documentation
default-jdk - Standard Java or Java compatible Development Kit
openjdk-11-jdk - OpenJDK Development Kit (JDK)
openjdk-11-jdk-headless - OpenJDK Development Kit (JDK) (headless)
lazarus - IDE for Free Pascal - SDK dependency package
libandroid-23-java - Android framework for API Level 23 (6.0 Marshmallow)
libandroid-databinding-java - Android Data Binding Library
libandroid-ddms-java - Communicate with devices through adb - Core library
libandroid-layoutlib-api-java - Library to use the rendering library for Android layouts - API
libandroid-tools-analytics-library-java - Libraries for tracking the usage analytics of Android SDK
libandroid-tools-dvlib-java - Library to manage the Android device database XML files
libandroid-tools-repository-java - Library for downloading and managing package repositories
libandroid-tools-sdklib-java - Library to parse and download the Android SDK
libjacoco-java - free code coverage library for Java
libjacoco-java-doc - free code coverage library for Java - documentations
libjs-matrix-js-sdk - JavaScript Client-Server SDK for the Matrix protocol
libldap-java - Netscape Directory SDK for Java
libngs-sdk-dev - Next Generation Sequencing language Bindings (development)
libngs-sdk2 - Next Generation Sequencing language Bindings
libsejda-java - extendible PDF manipulation layer library written in Java
libuima-as-java - Apache UIMA Asynch Scaleout framework
libuima-as-java-doc - Documentation for Apache UIMA Asynch Scaleout framework
node-matrix-js-sdk - JavaScript Client-Server SDK for the Matrix protocol
ruby-rbvmomi - Ruby interface to the VMware vSphere API
google-android-sdk-docs-installer - Android SDK Documentation from Google
openjdk-13-jdk - OpenJDK Development Kit (JDK)
openjdk-13-jdk-headless - OpenJDK Development Kit (JDK) (headless)
openjdk-16-jdk - OpenJDK Development Kit (JDK)
openjdk-16-jdk-headless - OpenJDK Development Kit (JDK) (headless)
openjdk-17-jdk - OpenJDK Development Kit (JDK)
openjdk-17-jdk-headless - OpenJDK Development Kit (JDK) (headless)
openjdk-21-jdk - OpenJDK Development Kit (JDK)
openjdk-21-jdk-headless - OpenJDK Development Kit (JDK) (headless)
openjdk-8-jdk - OpenJDK Development Kit (JDK)
openjdk-8-jdk-headless - OpenJDK Development Kit (JDK) (headless)

安装jdk1.8

sudo apt install openjdk-8-jdk

查看是否安装成功

java -version

显示如下既是安装成功

openjdk version "1.8.0_402"
OpenJDK Runtime Environment (build 1.8.0_402-8u402-ga-2ubuntu1~20.04-b06)
OpenJDK 64-Bit Server VM (build 25.402-b06, mixed mode)

二、下载mycat2的安装包

首先打开mycat官网:MyCat2

右上角下载里面有个文件下载服务,点进去发现无法访问

1717415753108.png

这里需要配置一下host,把下面内容复制到host文件中。host文件位置在C:\Windows\System32\drivers\etc

1717415667688.png

210.51.26.184 mycat.org.cn www.mycat.org.cn dl.mycat.org.cn

首先打开文件夹C:\Windows\System32\drivers\etc,找到hosts文件,右键属性-安全里面修改权限。把 hosts 文件移动到桌面,打开方式选择记事本,在文末添加 ip 地址和域名(之间加一个空格),保存文件并重新移动回C:\Windows\System32\drivers\etc配置好之后直接访问下面两个地址下载即可

http://dl.mycat.org.cn/2.0/install-template/mycat2-install-template-1.20.zip

http://dl.mycat.org.cn/2.0/1.20-release/mycat2-1.20-jar-with-dependencies-2021-12-23.jar

也可以通过github下载安装

https://github.com/MyCATApache/Mycat2/releases/tag/v1.22-2022-6-25

不想配置的可以提取我在阿里云盘存的jar包

MyCat依赖jar包 https://www.alipan.com/s/Wm3xLV6A5s7

unzip **.zip -d 解压目录

unzip  .zip -d mycat 
#安装unzip sudo apt install unzip

然后进入mycat目录的lib目录,然后把mycat2-1.20-jar-with-dependencies-2021-12-23.jar移入到lib目录.

1717415771644.png

三、配置mycat2

3.1mysql配置

要使用的mysql中创建一个mycat用户,并赋予权限;在mysql中执行下列命令

创建名为mycat的用户,密码为123456

CREATE USER 'mycat'@'%' IDENTIFIED BY '123456';

赋予权限

GRANT XA_RECOVER_ADMIN ON . TO 'root'@'%';
GRANT ALL PRIVILEGES ON . TO 'mycat'@'%';

刷新

flush privileges;

3.2修改mycat的prototype配置

进入mycat文件夹中的mycat/conf/datasource文件夹;编辑这里面的prototypeDs.datasource.json文件

把用户名密码和连接参数修改为之前创建好的mysql服务参数(提前在mysql中创建一个测试数据库)

修改password,user以及url中的数据库名字,这里配置的是数据库的用户名和密码,并不是我们新创建的mycat用户和密码。

1717415778900.png

cd conf/datasources/
vim prototypeDs.datasource.json

1717415783394.png

3.3修改root.user.json配置文件

1717415788487.png

cd conf/users
vim root.user.json

1717415792146.png

四、启动mycat

首先进入mycat的bin目录,改变脚本的权限,保证这些脚本具有执行的权限

cd bin
sudo chmod 777 *

1717415799543.png

进入mycat/bin中后,执行下面命令

启动

./mycat start

ps:查看是否运行成功用./mycat status

1717415803861.png

停止

./mycat stop

前台运行

./mycat console

重启

./mycat restart

暂停

./mycat pause

查看启动状态

./mycat status

五、在本地/远程通过mycat连接MySQL

5.1本地登录

mysql -umycat -proot  -P8066 -h 127.0.0.1

1717416372899.png

5.2 windown的dos窗口远程登录示例

首先确保mycat用户拥有远程登录的权限(ps:远程连接的时候需要保证mycat处于运行状态)

mysql -uroot -proot
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 8.0.36-0ubuntu0.20.04.1 (Ubuntu)

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> select host,user from mysql.user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| %         | mycat            |
| %         | root             |
| localhost | debian-sys-maint |
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
| localhost | root             |
+-----------+------------------+
7 rows in set (0.01 sec)

1717416387661.png

host显示为%的话既是拥有远程连接的权限

然后要开放linux的8066端口

sudo ufw allow 8066
#提示没有ufw的话,安装 sudo apt install ufw

最后打开dos窗口(同时按住win+R键,之后输入cmd)

1717416438547.png

1717416447346.png

mysql -umycat -proot  -P8066 -h 192.168.199.146
#mysql -umycat -proot  -P8066 -h MySQL主机的ip地址

1717416456272.png

ps:ipconfig即可查询

houge@houge:~/mycat/bin$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.199.146  netmask 255.255.255.0  broadcast 192.168.199.255
        inet6 fe80::16d6:9d88:f49d:9cb  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:55:ed:35  txqueuelen 1000  (以太网)
        RX packets 253  bytes 36502 (36.5 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 272  bytes 24458 (24.4 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (本地环回)
        RX packets 940  bytes 177079 (177.0 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 940  bytes 177079 (177.0 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

六、在web项目中添加mycat2

直接在配置文件中引入即可

<property name="connection.url">jdbc:mysql://192.168.199.146:8066/mail</property>
<property name="hibernate.connection.username">mycat</property>
<property name="hibernate.connection.password">root</property>
<property name="connection.driver_class">com.mysql.cj.jdbc.Driver</property>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值