Vous avez été plusieurs à me signaler des problèmes d’installation de MySQL sur Debian 10 (Buster) en suivant le tutoriel proposé par Digital Ocean. Depuis Debian 10 (Debian Buster), c’est MariaDB, une branche communautaire du projet MySQL, qui est empaquetée comme la variante de MySQL par défaut.
Bien que MariaDB fonctionne parfaitement dans la plupart des cas, si vous avez besoin de fonctionnalités uniquement disponibles sous MySQL ou que votre application ne prend en charge que MySQL d’Oracle, voici comment l’installer facilement sous Debian 10. C’est par exemple le cas de certains logiciels domotiques et Jeedom en particulier.
Mette à jour Debian 10 (Buster) et ajouter le dépôt MySQL
Je vous conseille de réaliser vos tests sur une machine virtuelle (NAS Synology ou de virtual box). Allez sur le site de Debian pour récupérer l’image qui correspond à votre micro-processeur. Dans la plupart des cas se sera la version amd-64.
Avant d’aller plus loin, commençons par mettre à jour Debian
sudo apt update
Ensuite il faut installer le package GnuPG, une implémentation open-source de la norme OpenPGP nécessaire au fonctionnement de MySQL.
sudo apt install gnupg
Allez ensuite sur le site officiel de MySQL pour récupérer le lien du package. Cliquez sur Download (télécharger).
Sur la page suivante, faites un clic droit sur No thanks, just start my download pour récupérer le lien vers le package à télécharger.
Sur Debian, déplacez-vous dans le dossier temporaire (tmp) et téléchargez le package d’installation à l’aide de la commande Linux wget en collant l’adresse du package récupéré précédemment.
cd /tmp wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb
Exécutez la commande ls à la fin du téléchargement pour vous assurer que le package est bien présent
$ ls mysql-apt-config_0.8.15-1_all.deb ...
Installer MySQL sur Debian Buster (10.3.x)
Il ne reste plus qu’à installer MySQL avec la commande Linux dpkg. L’option -i permet d’installer le package.
sudo dpkg -i mysql-apt-config*
Cette commande n’installe pas directement MySQL, elle permet simplement des référentiels à Debian. A part si vous êtes un pro de MySQL, vous pouvez laisser les options par défaut. La configuration terminée, utilisez la flèche vers le bas pour accéder à l’option de menu Ok et appuyez sur la touche Entrée du clavier.
Mettez à jour le système
sudo apt update
Maintenant, lancez l’installation de MySQL en exécutant
sudo apt install mysql-server
Durant l’installation, vous aurez besoin de définir le mot de passe root ainsi que la méthode de chiffrement. Par défaut sélectionnez Use Strong Password Encryption.
Vérifier que MySQL est correctement installé et démarré
Le serveur MySQL démarre sous la forme d’un service dès la fin de l’installation.
sudo systemctl status mysql
Si tout est correct, le rapport doit ressembler à ceci.
● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2020-04-06 17:47:41 CEST; 1h 14min ago Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Process: 335 ExecStartPre=/usr/share/mysql-8.0/mysql-systemd-start pre (code=exited, status=0/SUCCESS) Main PID: 380 (mysqld) Status: "Server is operational" Tasks: 38 (limit: 1149) Memory: 450.1M CGroup: /system.slice/mysql.service └─380 /usr/sbin/mysqld avril 06 17:47:34 debian10 systemd[1]: Starting MySQL Community Server... avril 06 17:47:41 debian10 systemd[1]: Started MySQL Community Server.
Voilà, vous pouvez utiliser MySQL pour vos projets IoT ou domotique.
- ESP32, broches GPIO et fonctions associées. I/O, PWM, RTC, I2C, SPI, ADC, DAC
- ESP32-CAM. Broches et équipements ESP-EYE, AI Thinker, TTGO T-Camera, M5Stack Timer Camera…
- ESP32-CAM. Quel modèle choisir ? ESP-EYE, AI Thinker, TTGO T-Camera, M5Stack Timer Camera…
- M5Stack Atomic GPS. Tracker ESP32 TinyGPS++, export GPX sur carte SD, visualisation sur Google Maps ou VSCode
- Home Assistant. Installer le snap sur NAS Synology sur une machine virtuelle Ubuntu
Tuto testé sur Debian 10 et Debian 11 : fonctionne parfaitement.
Merci !
eh oui, moi pareil…
A chaque fois que je me mets à linux, ça merde….
Je suis nul, ok, alors je suis scrupuleusement les tutos : ça marche jamais ! Pourquoi ?????? Ce n’est jamais à jour, jamais…
C’est vraiment un truc de geek…
Debian 10 refuse catégoriquement mysql… royal… va encore falloir un bac + 3000 ans pour mettre ça en route…
ca ne marche pas pour moi => installed mysql-community-server package post-installation script subprocess returned error exit status 1
dpkg: des problèmes de dépendances empêchent la configuration de mysql-server :
mysql-server dépend de mysql-community-server (= 8.0.23-1debian10) ; cependant :
Le paquet mysql-community-server n’est pas encore configuré.
dpkg: erreur de traitement du paquet mysql-server (–configure) :
problèmes de dépendances – laissé non configuré
Des erreurs ont été rencontrées pendant l’exécution :
mysql-community-server
mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@debian:/usr/sbin# cd /home/saif/
root@debian:/home/saif# apt install mysql-server
Lecture des listes de paquets… Fait
Construction de l’arbre des dépendances
Lecture des informations d’état… Fait
mysql-server est déjà la version la plus récente (8.0.23-1debian10).
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
2 partiellement installés ou enlevés.
Après cette opération, 0 o d’espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] o
Paramétrage de mysql-community-server (8.0.23-1debian10) …
[mysql.conf:23] Line references path below legacy directory /var/run/, updating /var/run/mysqld → /run/mysqld; please update the tmpfiles.d/ drop-in file accordingly.
[mysql.conf:23] Line references path below legacy directory /var/run/, updating /var/run/mysqld → /run/mysqld; please update the tmpfiles.d/ drop-in file accordingly.
[mysql.conf:23] Line references path below legacy directory /var/run/, updating /var/run/mysqld → /run/mysqld; please update the tmpfiles.d/ drop-in file accordingly.
Job for mysql.service failed because the control process exited with error code.
See “systemctl status mysql.service” and “journalctl -xe” for details.
Job for mysql.service failed because the control process exited with error code.
See “systemctl status mysql.service” and “journalctl -xe” for details.
invoke-rc.d: initscript mysql, action “start” failed.
● mysql.service – MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2021-01-28 15:47:46 CET; 18ms ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 29423 ExecStartPre=/usr/share/mysql-8.0/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Process: 29458 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE)
Main PID: 29458 (code=exited, status=1/FAILURE)
Status: “Server startup in progress”
Error: 98 (Adresse déjà utilisée)
janv. 28 15:47:43 debian systemd[1]: Starting MySQL Community Server…
janv. 28 15:47:46 debian systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE
janv. 28 15:47:46 debian systemd[1]: mysql.service: Failed with result ‘exit-code’.
janv. 28 15:47:46 debian systemd[1]: Failed to start MySQL Community Server.
dpkg: erreur de traitement du paquet mysql-community-server (–configure) :
installed mysql-community-server package post-installation script subprocess returned error exit status 1
dpkg: des problèmes de dépendances empêchent la configuration de mysql-server :
mysql-server dépend de mysql-community-server (= 8.0.23-1debian10) ; cependant :
Le paquet mysql-community-server n’est pas encore configuré.
dpkg: erreur de traitement du paquet mysql-server (–configure) :
problèmes de dépendances – laissé non configuré
Des erreurs ont été rencontrées pendant l’exécution :
mysql-community-server
mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
help pls