一、安装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
右上角下载里面有个文件下载服务,点进去发现无法访问
这里需要配置一下host,把下面内容复制到host文件中。host文件位置在C:\Windows\System32\drivers\etc
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目录.
三、配置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用户和密码。
cd conf/datasources/
vim prototypeDs.datasource.json
3.3修改root.user.json配置文件
cd conf/users
vim root.user.json
四、启动mycat
首先进入mycat的bin目录,改变脚本的权限,保证这些脚本具有执行的权限
cd bin
sudo chmod 777 *
进入mycat/bin中后,执行下面命令
启动
./mycat start
ps:查看是否运行成功用./mycat status
停止
./mycat stop
前台运行
./mycat console
重启
./mycat restart
暂停
./mycat pause
查看启动状态
./mycat status
五、在本地/远程通过mycat连接MySQL
5.1本地登录
mysql -umycat -proot -P8066 -h 127.0.0.1
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)
host显示为%的话既是拥有远程连接的权限
然后要开放linux的8066端口
sudo ufw allow 8066
#提示没有ufw的话,安装 sudo apt install ufw
最后打开dos窗口(同时按住win+R键,之后输入cmd)
mysql -umycat -proot -P8066 -h 192.168.199.146
#mysql -umycat -proot -P8066 -h MySQL主机的ip地址
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>