| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| mariadb [Le 26/01/2019, 02:34] – [Différences entre MariaDB et MySQL] typo Arctara | mariadb [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 |
|---|
| {{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 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. |
| |
| ===== 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 | |
| |
| <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 ==== |
| ==== 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. |
| |
| ==== Utilisateurs ==== | ==== Utilisateurs ==== |
| 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> |
| 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> |
| 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]] |
| * [[https://launchpad.net/maria|MariaDB sur launchpad]] [en] | * **(//en//)** [[https://mariadb.com/docs/|base de connaissances en ligne]] (//Search// en haut à droite) |
| | * [[: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]].// |