Pour déployer MyCat2, un proxy SQL open source conçu pour la mise à l’échelle horizontale des bases de données MySQL, il est essentiel de préparer un environnement comptaible. Ce guide couvre l’installation de Java 8, le téléchargement et l’organisation des binaires MyCat2, la configuration des sources de données et des utilsiateurs, ainsi que le lancement du service et sa connexion depuis des clients locaux ou distants.
1. Installation du JDK 8
Sur une distribution Ubuntu/Debian, utilisez la commande suivante pour installer OpenJDK 8 :
sudo apt update && sudo apt install openjdk-8-jdk -y
Vérifiez l’installation avec :
java -version
Une sortie similaire confirme le bon déploiement :
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)
2. Récupérasion des artefacts MyCat2
Les ressources officielles sont hébergées sur dl.mycat.org.cn. Pour contourner les blocages DNS, ajoutez cette entrée au fichier /etc/hosts (Linux/macOS) ou C:\Windows\System32\drivers\etc\hosts (Windows) :
210.51.26.184 dl.mycat.org.cn
Téléchargez ensuite deux composants essentiels :
- Le modèle d’installation : mycat2-install-template-1.20.zip
- Le binaire exécutable : mycat2-1.20-jar-with-dependencies-2021-12-23.jar
Décompressez l’archive dans un répertoire cible (ex. ~/mycat) :
unzip mycat2-install-template-1.20.zip -d ~/mycat
Copiez le JAR dans ~/mycat/lib/ :
cp mycat2-1.20-jar-with-dependencies-2021-12-23.jar ~/mycat/lib/
3. Configuration des couches de données et d’accès
3.1 Prérequis côté MySQL
Créez un utilisateur dédié dans votre instance MySQL (ex. version 8.x) :
CREATE USER 'proxy_user'@'%' IDENTIFIED BY 'SecurePass123!';
GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'proxy_user'@'%';
FLUSH PRIVILEGES;
Assurez-vous que le serveur autorise les connexions distantes via bind-address = 0.0.0.0 dans my.cnf, puis redémarrez le service.
3.2 Configuration de la source de données
Modifiez ~/mycat/conf/datasources/prototypeDs.datasource.json pour refléter vos paramètres MySQL réels :
{
"name": "prototypeDs",
"driver": "com.mysql.cj.jdbc.Driver",
"url": "jdbc:mysql://192.168.1.50:3306/testdb?useSSL=false&serverTimezone=UTC",
"user": "proxy_user",
"password": "SecurePass123!",
"maxCon": 200,
"minCon": 5
}
3.3 Configuration utilisateur MyCat
Éditez ~/mycat/conf/users/root.user.json pour définir les identifiants acceptés par le proxy :
{
"user": "admin",
"password": "Admin@2024",
"schemas": ["testdb"],
"readOnly": false
}
4. Lancement du service MyCat2
Rendez les scripts exécutables :
chmod +x ~/mycat/bin/*.sh
Démarrez le service en arrière-plan :
~/mycat/bin/mycat start
Autres commandes utiles :
~/mycat/bin/mycat status— vérifier l’état~/mycat/bin/mycat console— exécuter en premier plan (utile pour le débogage)~/mycat/bin/mycat restart— redémarrage complet
5. Connexion au proxy
MyCat écoute par défaut sur le port 8066. Depuis une machine cliente (locale ou distante) :
mysql -uadmin -pAdmin@2024 -h192.168.1.100 -P8066
Si vous accédez depuis une machine externe, assurez-vous que le pare-feu autorise le trafic sur ce port :
sudo ufw allow 8066
6. Intégration dans une application Java
Dans un fichier de configuration Hibernate ou Spring Boot, pointez vers MyCat comme s’il s’agissait d’un serveur MySQL natif :
spring.datasource.url=jdbc:mysql://192.168.1.100:8066/testdb?useSSL=false&serverTimezone=UTC
spring.datasource.username=admin
spring.datasource.password=Admin@2024
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver