Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
mariadb [Le 20/06/2018, 21:49] – [Installation] + sudo apt install (techno serveur) krodelabestiolemariadb [Le 25/03/2026, 03:30] (Version actuelle) – mise en forme | màj | logo | détails | TODO à vérifier si mysql est encore proposé par défaut krodelabestiole
Ligne 1: Ligne 1:
-{{tag>sgbd mysql serveur réseau }} +{{tag>Noble Focal sgbd mysql serveur réseau}}
- +
-----+
  
 +{{ https://mariadb.com/wp-content/uploads/2019/11/mariadb-logo-vert_blue-transparent.png?120|Logo de MariaDB}}
 ====== MariaDB ====== ====== MariaDB ======
  
-**[[wpfr>MariaDB]]** est un système de gestion de base de données relationnelles. Après le rachat de [[wpfr>MySQL]] par Sun Microsystems, puis de Sun par Oracle Corporation, son fondateur (Michael Widenius) démissionne pour lancer une version alternative, sous licence GPL et 100% compatible avec [[:MySQL]].+**[[wpfr>MariaDB]]** est un système de gestion de base de données relationnelles. Après le rachat de [[wpfr>MySQL]] par Sun Microsystems, puis de Sun par [[wpfr>Oracle_(entreprise)|Oracle]], son fondateur (Michael Widenius) démissionne pour lancer une version alternative, [[wpfr>logiciel libre|libre]] (sous licence GPLet 100% compatible avec [[:MySQL]].\\
 MariaDB se base sur le code source de MySQL 5.1. MariaDB se base sur le code source de MySQL 5.1.
  
Ligne 12: Ligne 11:
 ===== Installation ===== ===== Installation =====
  
-MariaDB est disponible dans les dépôts officiels.+Pour installer MariaDB depuis les [[:depots#dépôts officiels]], il suffit d'[[:deb#installer_un_paquet_deb|installer le paquet]] ''[[apt>mariadb-server]]'', soit en ligne de commande : 
 +  sudo apt install mariadb-server
  
-Pour installer le serveur MariaDB : [[apt>mariadb-server]] ou +<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/\\ 
-<code>sudo apt install mariadb-server</code>+version qui apporte notamment le support du type JSON. 
 +</note>
  
 ==== PHP ==== ==== PHP ====
Ligne 24: Ligne 25:
 ===== 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 39:
 </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 50: Ligne 51:
 ==== password plutôt que authentication_string sur la table users ==== ==== password plutôt que authentication_string sur la table users ====
  
-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'pas un gros impactet 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 +==== Utilisateurs ==== 
-<code mysql>SELECT user, host, plugin, password FROM mysql.user;</code>+ 
 +La gestion des utilisateurs est pour le moment assez différente sur MariaDB et sur MySQL. La gestion des algorithmes de chiffrement n'étant pas similairecertaines commandes de la section [[:mysql#utilisateurs]] retourneront actuellement une erreur de syntaxe sur MariaDB. Voici des variantes fonctionnelles pour MariaDB. 
 + 
 +=== Lister les utilisateurs === 
 + 
 +Vous pouvez lister les utilisateurs ainsi que leurs [[#authentification|méthodes d'authentification]] avec la requête suivante 
 +<code mysql> 
 +SELECT user, host, plugin, password FROM mysql.user; 
 +</code> 
 + 
 +=== Créer un utilisateur === 
 + 
 +Pour créer un utilisateur MySQL identifié au moyen d'un mot de passe : 
 +<code mysql> 
 +CREATE USER 'nom_utilisateur_choisi'@'localhost' IDENTIFIED BY 'mot_de_passe_solide'; 
 +</code> 
 + 
 +Pour créer un accès MySQL à un utilisateur Ubuntu : 
 +<code mysql> 
 +CREATE USER 'nom_utilisateur'@'localhost' IDENTIFIED WITH unix_socket; 
 +</code> 
 + 
 +=== Modifier l'accès d'un utilisateur === 
 + 
 +Pour modifier l'accès d'un utilisateur MySQL existant, et l'identifier par mot de passe : 
 +<code mysql> 
 +ALTER USER 'nom_utilisateur'@'localhost' IDENTIFIED BY 'mot_de_passe_solide'; 
 +FLUSH PRIVILEGES; 
 +</code> 
 + 
 +Pour lier un compte MySQL existant à un utilisateur Ubuntu (il faut que les noms d'utilisateur soient les mêmes) : 
 +<code mysql> 
 +ALTER USER 'nom_utilisateur'@'localhost' IDENTIFIED WITH unix_socket; 
 +FLUSH PRIVILEGES; 
 +</code> 
 + 
 +=== Supprimer un utilisateur === 
 + 
 +Pour supprimer un utilisateur : 
 +<code mysql> 
 +DROP USER 'nom_utilisateur'@'localhost'; 
 +</code>
  
 ==== UTF-8 par défaut partout ==== ==== UTF-8 par défaut partout ====
Ligne 59: Ligne 101:
 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é.
  
-===== Liens =====+==== Requêtes ==== 
 + 
 +L'alias ''%%->%%'' pour JSON_EXTRACT ne fonctionne pas sur MariaDB.((Voir (//en//) [[https://mariadb.com/kb/en/json_extract/]].)) 
 + 
 +===== Voir aussi =====
  
-  * [[http://mariadb.org/|MariaDB.org]] [en+  * **(//en//)** [[https://mariadb.org/|Site officiel]] 
-  * [[https://downloads.mariadb.org/mariadb/repositories/|Setting up MariaDB Repositories]] [en+  * **(//en//)** [[https://mariadb.org/download/?t=repo-config|Téléchargement]] 
-  * [[http://ourdelta.org/ubuntu|OurDelta]] [en] +  * **(//en//)** [[https://mariadb.com/docs/|base de connaissances en ligne]] (//Search// en haut à droite) 
-  * [[https://launchpad.net/maria|MariaDB sur launchpad]] [en]+  * [[:MySQL]] 
 +  * [[:LAMP]]
   * 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
   * La page des [[:SGBD]]   * La page des [[:SGBD]]
  
 ---- ----
-//Contributeurs : [[:utilisateurs:time132|time132]], [[:utilisateurs/bcag2]], [[:utilisateurs:krodelabestiole]]//+//[[:Contributeurs]] : [[:utilisateurs:time132]], [[:utilisateurs:bcag2]], [[:utilisateurs:krodelabestiole]].//