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 | ||
mariadb [Le 22/06/2018, 16:34] krodelabestiole + utilisateurs, pas mal de modifs par rapport à mysql, et pas trouvé de solution unique pour les 2 donc mieux vaut réécrire toute la section pour le moment. |
mariadb [Le 31/08/2022, 23:38] (Version actuelle) moths-art 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 18: | Ligne 18: | ||
<code>sudo apt install mariadb-server</code> | <code>sudo apt install mariadb-server</code> | ||
+ | <note tip>Lien (en) pour le passage de la v10.1 à la v10.2 sous [[:Bionic]] : https://mariadb.com/docs/deploy/upgrade-community-server-cs102-ubuntu18/\\ | ||
+ | version qui apporte notamment le support du type JSON</note> | ||
==== PHP ==== | ==== PHP ==== | ||
Ligne 24: | Ligne 26: | ||
===== Différences entre MariaDB et MySQL ===== | ===== Différences entre MariaDB et MySQL ===== | ||
- | <note important>L'ensemble du comportement du serveur MariaDB reste très similaire à celui de MySQL. La commande ''mysql'' reste valable, ainsi que les commandes ''systemctl ... myslq''. | + | <note important>L'ensemble du comportement du serveur MariaDB reste très similaire à celui de MySQL. La commande ''mysql'' reste valable, ainsi que les commandes ''systemctl ... mysql''. |
Pour l'essentiel vous pouvez donc suivre la [[:mysql|documentation de MySQL]]. On trouve cependant quelques différences auxquelles il faudra éventuellement faire attention.</note> | Pour l'essentiel vous pouvez donc suivre la [[:mysql|documentation de MySQL]]. On trouve cependant quelques différences auxquelles il faudra éventuellement faire attention.</note> | ||
Ligne 38: | Ligne 40: | ||
</code> | </code> | ||
- | Donc si vous entendez parler de l'un ou de l'autre de ces plugins, il s'agit du même comportement (qui permet d'utiliser le système d'authentification des utilisateurs Ubuntu, plutôt que des couples identifiants / mots de passe spécifique à MySQL). | + | Donc si vous entendez parler de l'un ou de l'autre de ces plugins, il s'agit du même comportement (qui permet d'utiliser le système d'authentification des utilisateurs Ubuntu, plutôt que des couples identifiants / mots de passe spécifiques à MySQL). |
- | Quelques commandes sont à adapter dans la section //[[mysql#utilisateurs]]//. | + | Voir en particulier la section //[[#utilisateurs]]// adaptée ci-dessous. |
==== unix_socket par défaut pour root dès Xenial ==== | ==== unix_socket par défaut pour root dès Xenial ==== | ||
Ligne 52: | Ligne 54: | ||
Dans la table //users// de la base de données //mysql//, où sont stockés les utilisateurs MySQL, les mots de passes sont renseignés dans le champs //password// sur MariaDB, au lieu de //authentication_string// sur MySQL. | Dans la table //users// de la base de données //mysql//, où sont stockés les utilisateurs MySQL, les mots de passes sont renseignés dans le champs //password// sur MariaDB, au lieu de //authentication_string// sur MySQL. | ||
- | Cela n'a pas un gros impact, et les commandes pour gérer les utilisateurs restent globalement les mêmes, mais pour [[:mysql#lister_les_utilisateurs|lister les utilisateurs existants]] en affichant leurs méthodes d'authentification on utilisera plutôt : | ||
- | <code mysql>SELECT user, host, plugin, password FROM mysql.user;</code> | ||
==== Utilisateurs ==== | ==== Utilisateurs ==== | ||
Ligne 82: | Ligne 82: | ||
Pour modifier l'accès d'un utilisateur MySQL existant, et l'identifier par mot de passe : | Pour modifier l'accès d'un utilisateur MySQL existant, et l'identifier par mot de passe : | ||
<code mysql> | <code mysql> | ||
- | SET PASSWORD FOR 'nom_utilisateur'@'localhost' = PASSWORD('mot_de_passe_solide'); | + | ALTER USER 'nom_utilisateur'@'localhost' IDENTIFIED BY 'mot_de_passe_solide'; |
- | </code> | + | |
- | Les requêtes suivantes sont nécessaires si on change la [[:mysql#authentification|méthode d'authentification]] : | + | |
- | <code mysql> | + | |
- | UPDATE mysql.user SET plugin = '' WHERE user = 'nom_utilisateur' AND host = 'localhost'; | + | |
FLUSH PRIVILEGES; | FLUSH PRIVILEGES; | ||
</code> | </code> | ||
Ligne 92: | Ligne 88: | ||
Pour lier un compte MySQL existant à un utilisateur Ubuntu (il faut que les noms d'utilisateur soient les mêmes) : | Pour lier un compte MySQL existant à un utilisateur Ubuntu (il faut que les noms d'utilisateur soient les mêmes) : | ||
<code mysql> | <code mysql> | ||
- | UPDATE mysql.user SET plugin = 'unix_socket', password = '' WHERE user = 'nom_utilisateur' AND host = 'localhost'; | + | ALTER USER 'nom_utilisateur'@'localhost' IDENTIFIED WITH unix_socket; |
FLUSH PRIVILEGES; | FLUSH PRIVILEGES; | ||
</code> | </code> | ||
Ligne 106: | Ligne 102: | ||
MariaDB opte pour l'[[wpfr>UTF-8]] par défaut pour l'ensemble des opérations (y compris la création de base de données). Il est donc inutile de prendre [[:mysql#configuration_en_utf-8|cette section]] en compte, et le comportement général du serveur de base de données s'en trouve mieux harmonisé. | MariaDB opte pour l'[[wpfr>UTF-8]] par défaut pour l'ensemble des opérations (y compris la création de base de données). Il est donc inutile de prendre [[:mysql#configuration_en_utf-8|cette section]] en compte, et le comportement général du serveur de base de données s'en trouve mieux harmonisé. | ||
+ | |||
+ | ==== Requêtes ==== | ||
+ | |||
+ | L'alias <code>-></code> pour JSON_EXTRACT ne fonctionne pas sur MariaDB | ||
+ | |||
+ | [[https://mariadb.com/kb/en/json_extract/]] [en] | ||
+ | |||
===== Liens ===== | ===== Liens ===== | ||
- | * [[http://mariadb.org/|MariaDB.org]] [en] | + | * [[https://mariadb.org/|MariaDB.org]] [en] |
* [[https://downloads.mariadb.org/mariadb/repositories/|Setting up MariaDB Repositories]] [en] | * [[https://downloads.mariadb.org/mariadb/repositories/|Setting up MariaDB Repositories]] [en] | ||
- | * [[http://ourdelta.org/ubuntu|OurDelta]] [en] | + | * [[https://mariadb.com/kb/en/|base de connaissances en ligne]] [en] (sélectionner en haut à droite 'Search') |
* [[https://launchpad.net/maria|MariaDB sur launchpad]] [en] | * [[https://launchpad.net/maria|MariaDB sur launchpad]] [en] | ||
* La page [[:mysql_outils|Outils MySQL]] -> Divers outils pour administrer les bases de données MySQL qui seront compatibles avec MariaDB | * La page [[:mysql_outils|Outils MySQL]] -> Divers outils pour administrer les bases de données MySQL qui seront compatibles avec MariaDB |