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édentes Révision précédente
Prochaine révision
Révision précédente
mariadb [Le 17/06/2018, 23:19]
krodelabestiole + UTF-8 par défaut partout
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 7: Ligne 7:
 **[[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 Oracle Corporation,​ son fondateur (Michael Widenius) démissionne pour lancer une version alternative,​ sous licence GPL et 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.
- 
---- //Source: [[http://​fr.wikipedia.org/​wiki/​MariaDB|Wikipédia]]//​ 
  
 Il s'agit donc d'un fork plus communautaire et ouvert, et 100% compatible MySQL. Il s'​avère aussi plus performant selon certaines études. Il est utilisé comme serveur MySQL par défaut sur [[wpfr>​Debian]]. Sur Ubuntu cependant, c'est toujours [[:MySQL]] qui est proposé par défaut. Il s'agit donc d'un fork plus communautaire et ouvert, et 100% compatible MySQL. Il s'​avère aussi plus performant selon certaines études. Il est utilisé comme serveur MySQL par défaut sur [[wpfr>​Debian]]. Sur Ubuntu cependant, c'est toujours [[:MySQL]] qui est proposé par défaut.
Ligne 17: Ligne 15:
  
 Pour installer le serveur MariaDB : [[apt>​mariadb-server]] ou Pour installer le serveur MariaDB : [[apt>​mariadb-server]] ou
-<code bash> 
-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 27: 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 41: 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 55: 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'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 ​+ 
-<code mysql>​SELECT user, host, plugin, password FROM mysql.user;</​code>​+==== Utilisateurs ==== 
 + 
 +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 ====
  
 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
  • mariadb.1529270386.txt.gz
  • Dernière modification: Le 17/06/2018, 23:19
  • par krodelabestiole