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 14/07/2018, 12:05] krodelabestiole [auth_socket s'appelle unix_socket sous MariaDB] |
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 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 |