Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
mysql [Le 04/09/2020, 10:44] L'Africain [Conflit entre MySQL et MariaDB] |
mysql [Le 20/12/2021, 23:06] wiki-corrector-bot passage de http à https sur les liens externes (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Xenial Bionic sgbd mysql serveur réseau}} | ||
- | ---- | + | {{tag>Xenial Bionic Focal sgbd mysql serveur réseau}} |
====== MySQL ====== | ====== MySQL ====== | ||
Ligne 14: | Ligne 13: | ||
L'installation de ce paquet doit se faire de préférence en utilisant [[terminal]] via la commande : <code>sudo apt install mysql-server</code> | L'installation de ce paquet doit se faire de préférence en utilisant [[terminal]] via la commande : <code>sudo apt install mysql-server</code> | ||
- | [[apt>mysql-server]] est un [[:tutoriel:creer un meta paquet|méta-paquet]] qui installera MySQL 5.7 sur [[:xenial|Xenial 16.04]] et sur [[:bionic|Bionic 18.04]]. | + | [[apt>mysql-server]] est un [[:tutoriel:creer un meta paquet|méta-paquet]] qui installera MySQL 5.7 sur [[:xenial|Xenial 16.04]] et sur [[:bionic|Bionic 18.04]], MySQL 8.0 sur [[:Focal|Focal 20.04]]. |
===== Utilisation ===== | ===== Utilisation ===== | ||
Ligne 246: | Ligne 245: | ||
Pour autoriser l'accès venant de toutes machines (limité par l'authentification), remplacer ''[adresse IP]'' par le symbole ''%''. | Pour autoriser l'accès venant de toutes machines (limité par l'authentification), remplacer ''[adresse IP]'' par le symbole ''%''. | ||
+ | |||
+ | Il est fortement conseillé que le ''[nom utilisateur]'' soit différent du nom d'utilisateur connecté en local ''[localhost]'' pour éviter les blocages de connexion. | ||
Pour rendre ces modifications effectives, terminez par : | Pour rendre ces modifications effectives, terminez par : | ||
<code mysql>FLUSH PRIVILEGES;</code> | <code mysql>FLUSH PRIVILEGES;</code> | ||
+ | |||
+ | Cette modification des droits de l'utilisateur (ou l'ajout d'un nouvel utilisateur avec des droits différents) peut aussi se faire dans [[phpmyadmin|phpMyAdmin]]. | ||
==== Configuration en UTF-8 ==== | ==== Configuration en UTF-8 ==== | ||
Ligne 337: | Ligne 340: | ||
CREATE DATABASE application; | CREATE DATABASE application; | ||
CREATE USER 'utilisateur'@'localhost' IDENTIFIED BY 'mot_de_passe'; | CREATE USER 'utilisateur'@'localhost' IDENTIFIED BY 'mot_de_passe'; | ||
- | GRANT ALL ON utilisateur.* TO 'application'@'localhost'; | + | GRANT ALL ON application.* TO 'utilisateur'@'localhost'; |
FLUSH PRIVILEGES; | FLUSH PRIVILEGES; | ||
QUIT; | QUIT; | ||
Ligne 366: | Ligne 369: | ||
</code> | </code> | ||
- | Pour la syntaxe des requêtes SQL, reportez-vous à la [[http://dev.mysql.com/doc/|documentation MySQL]]. | + | Pour la syntaxe des requêtes SQL, reportez-vous à la [[https://dev.mysql.com/doc/|documentation MySQL]]. |
===== Autres opérations ===== | ===== Autres opérations ===== | ||
- | Qt4 avec MySQL: | + | MySQL avec Qt5: |
- | Installer la librairie pour mysql afin de l'utiliser sous QT : | + | Installer la bibliothèque Qt5 pour mysql afin de l'utiliser sous Qt : |
- | <code>sudo apt install libqt4-sql-mysql</code> | + | <code>sudo apt install libqt5sql5-mysql</code> |
Ligne 399: | Ligne 402: | ||
</note> | </note> | ||
- | D'autres commandes telles que la suppression des tables, de la base, l'ajout des données dans la base des données, etc. peuvent être trouvées sur le [[http://dev.mysql.com/doc/refman/5.0/fr/sql-syntax.html|site de documentation de MySQL]]. | + | D'autres commandes telles que la suppression des tables, de la base, l'ajout des données dans la base des données, etc. peuvent être trouvées sur le [[https://dev.mysql.com/doc/refman/5.0/fr/sql-syntax.html|site de documentation de MySQL]]. |
Ligne 409: | Ligne 412: | ||
Pistes pour comprendre et corriger ce problème : | Pistes pour comprendre et corriger ce problème : | ||
* [[http://bytes.com/groups/mysql/495219-mysql-ibdata1-compact-space|Supprimer les tables InnoDB pour récupérer l'espace]] | * [[http://bytes.com/groups/mysql/495219-mysql-ibdata1-compact-space|Supprimer les tables InnoDB pour récupérer l'espace]] | ||
- | * [[http://bugs.mysql.com/bug.php?id=1287|"Bogue" associé]] | + | * [[https://bugs.mysql.com/bug.php?id=1287|"Bogue" associé]] |
- | * Exporter toutes les bases de données, arrêter mysql, supprimer le fichier, démarrer sql et importer toutes les bases. | + | * Exporter toutes les bases de données, arrêter mysql, supprimer le fichier, démarrer mysql et importer toutes les bases. |
Ligne 428: | Ligne 431: | ||
En cas de problème de configuration lors d'un premier déploiement d'un serveur MySQL on doit donc effectuer un certain nombre d'opérations manuelles afin de réinitialiser complètement son installation. Attention cela rendra les bases de données existantes inaccessibles ! | En cas de problème de configuration lors d'un premier déploiement d'un serveur MySQL on doit donc effectuer un certain nombre d'opérations manuelles afin de réinitialiser complètement son installation. Attention cela rendra les bases de données existantes inaccessibles ! | ||
- | <code>sudo apt autoremove --purge mysql-server\* mariadb-server\* | + | Pour Ubuntu avant 20.04 : |
+ | <code>sudo apt autoremove --purge mysql-server\* mariadb-server\*</code> | ||
+ | À partir de Ubuntu 20.04 : | ||
+ | <code>sudo apt autoremove --purge ~n^mysql-server ~n^mariadb-server</code> | ||
+ | |||
+ | Puis quelle que soit la version : | ||
+ | <code> | ||
sudo mv /var/lib/mysql /var/lib/mysql.bak | sudo mv /var/lib/mysql /var/lib/mysql.bak | ||
sudo mv /etc/mysql /etc/mysql.bak | sudo mv /etc/mysql /etc/mysql.bak | ||
Ligne 443: | Ligne 452: | ||
Consultez le journal de [[:systemd]] : | Consultez le journal de [[:systemd]] : | ||
- | <code>journalctl -xe</code> | + | <code>journalctl -xe -u mysql</code> |
+ | et les logs dans /var/log/mysql/error.log | ||
=== AppArmor === | === AppArmor === | ||
Ligne 456: | Ligne 466: | ||
Il faut ensuite redémarrer l'ordinateur (redémarrer le service //apparmor// ne suffit pas). | Il faut ensuite redémarrer l'ordinateur (redémarrer le service //apparmor// ne suffit pas). | ||
- | ==== Conflit entre MySQL et MariaDB ==== | + | ==== Installation de MySQL impossible ==== |
+ | |||
+ | === Conflit entre MySQL et MariaDB === | ||
Si vous rencontrez une erreur de ce type lors de l'installation de MySQL : | Si vous rencontrez une erreur de ce type lors de l'installation de MySQL : | ||
Ligne 468: | Ligne 480: | ||
Il s'agit probablement d'un conflit entre MySQL et [[:MariaDB]]. Le plus simple est de [[#reinstallation_complete|réinstaller complètement MySQL]]. | Il s'agit probablement d'un conflit entre MySQL et [[:MariaDB]]. Le plus simple est de [[#reinstallation_complete|réinstaller complètement MySQL]]. | ||
- | ==== Impossible de réinstaller Mysql ==== | + | Il est également possible que des fichiers [[:systemd]] pour [[:MariaDB]] persistent après une mauvaise désinstallation, et empêchent une nouvelle installation propre. Pour résoudre ce problème, suivez [[https://askubuntu.com/a/1235833|cette procédure]]. |
- | Il est possible qu'il y ait des résidu de configuration de fichier Mariadb qui empêche une nouvelle installation propre. Pour résoudre ce problème suivez la procédure de cette [[https://askubuntu.com/questions/1235829/cant-get-mysql8-to-work-on-ubuntu-20-04|page]]. | ||
===== Voir aussi ===== | ===== Voir aussi ===== | ||
* [[https://www.mysql.com/|Le site officiel de MySQL]] [en] | * [[https://www.mysql.com/|Le site officiel de MySQL]] [en] | ||
* [[http://www.mysql.fr/|Le site officiel francophone]] [fr] | * [[http://www.mysql.fr/|Le site officiel francophone]] [fr] | ||
- | * [[http://www.system-linux.eu/index.php?category/Mysql|Aller plus loin avec MySQL]] [fr] | + | * [[https://www.system-linux.eu/index.php?category/Mysql|Aller plus loin avec MySQL]] [fr] |
* La page dédiée aux [[:mysql_outils|outils MySQL]] | * La page dédiée aux [[:mysql_outils|outils MySQL]] | ||
* [[:greensql|GreenSQL : Pare-feu applicatif SQL]] | * [[:greensql|GreenSQL : Pare-feu applicatif SQL]] | ||
- | * [[http://mysql.developpez.com/|La section dédiée à MySQL sur Developpez.com]] [fr] | + | * [[https://mysql.developpez.com/|La section dédiée à MySQL sur Developpez.com]] [fr] |
* La page des [[:SGBD|systèmes de gestion de base de données]] | * La page des [[:SGBD|systèmes de gestion de base de données]] | ||
* [[:MariaDB]] -> Le serveur alternatif 100% compatible MySQL | * [[:MariaDB]] -> Le serveur alternatif 100% compatible MySQL |