{{htmlmetatags>metatag-description=(un petit tuto pour vous expliquer comment créer ou le modifier l'utilisateur debian-sys-maint pour que vos tâches de maintenance effectués par Debian sur votre serveur MariaDB / MySQL se fassent sans soucis et surtout sans erreur. )
metatag-og:image=(https://www1.zonewebmaster.eu/_media/:serveur-debian-mariadb:mariadb-mysql.jpg)
metatag-og:description=(un petit tuto pour vous expliquer comment créer ou le modifier l'utilisateur debian-sys-maint pour que vos tâches de maintenance effectués par Debian sur votre serveur MariaDB / MySQL se fassent sans soucis et surtout sans erreur. )
metatag-og:title=(MariaDB : Corriger le bug mysqladmin: flush failed; error: 'Unknown error')
metatag-og:type=(article)
metatag-og:url=(https://www1.zonewebmaster.eu/serveur-debian-mariadb:ajouter-reparer-utilisateur-debian-sys-maint-de_mysql-mariadb)
metatag-og:locale=(fr_FR)
metatag-og:site_name(zonewebmaster.eu)
metatag-article:published_time=(2020-05-28)
metatag-article:modified_time=(2020-05-28)
metatag-article:author=(montuy337513)
metatag-article:tag=(debian-sys-maint, corriger, modifier, mariadb, mysql, creer, maintenance, sécurisation,help, tuto, wiki, debian)
}}
====== Ajouter ou réparer l'utilisateur debian-sys-maint pour MariaDB/MySQL ======
L'utilisateur **debian-sys-maint** est créé par //Debian// pour lui permettre d'effectuer des tâches de maintenance sur le serveur **MariaDB**/**MySQL**. En principe, cet utilisateur est automatiquement créé lors de l'installation des paquets **MariaDB**/**MySQL**. Il arrive parfois lors d'une mise à jour ou comme moi lors d'une installation manuelle de //mariadb-server// que le mot de passe de cet utilisateur est modifié ou simplement, **debian-sys-maint** n'est pas créé. Voici un petit tuto pour vous expliquer comment le créer ou le modifier pour que vos tâches de maintenance effectués par //Debian// sur votre serveur **MariaDB**/**MySQL** se fassent sans soucis et surtout sans erreur.
{{ :serveur-debian-mariadb:mariadb-social-share.jpg?nolink&400 |}}
===== Pré-requis =====
Ce correctif a été testé sur Debian 9 (Stretch), il fonctionne aussi sur Debian 10 (Buster). Toutes les commandes suivantes s'exécutent dans un terminal en ligne de commande.
{{howhard>2}}
Je parle principalement de **MariaDB**, mais si vous utilisez **MySQL**, les fichiers et les commandes sont les mêmes !
===== Le fichier /etc/mysql/debian.cnf =====
Lors de l'installation d'un serveur **MariaDB** ou **MySQL**, //Debian// crée un mot de passe aléatoire pour l’utilisateur **debian-sys-maint**, et inscrit ce mot de passe dans le fichier de configuration// /etc/mysql/debian.cnf //:
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = mot-de-passe
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = mot-de-passe
socket = /var/run/mysqld/mysqld.sock
basedir = /usr
Il est important de vérifier qu'aux lignes //user//, c'est bien **debian-sys-maint** qui y est bien présent.
===== Petit test pour vérifier si debian-sys-maint est bien paramétré =====
En premier lieu, il convient de vérifier si l'utilisateur **debian-sys-maint** est bien installé sur votre système //Debian//. Pour cela nous utilisons cette petite ligne de commande :
mysql -u debian-sys-maint -p"$(cat /etc/mysql/debian.cnf | grep password | head -n 1 | awk -F= '{ gsub(/[ \t]+/, "", $2); print $2 }')"
Si vous obtenez un message du genre :
ERROR 1045 (28000): Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)
il est clair que vous avez un problème de paramétrage avec votre utilisateur **debian-sys-maint**.
===== Création / modification de debian-sys-maint =====
Nous allons, dans un premier temps, vérifier si l'utilisateur **debian-sys-maint** est présent dans le système.
Pour cela, nous nous connectons au serveur **MariaDB** / **MySQL** via une ligne de commande
mysql -u root -h localhost -p
Cette commande vous demandera le mot de passe root, entrez le mot de passe et appuyez sur Entrée
Dans les dernières version de Debian/Ubuntu, le mot de passe n’est pas nécessaire lorsque l’on est root sur la machine et que l’on veut se connecter avec l’utilisateur root de MySQL. L’argument -p n’est donc pas nécessaire.
==== Savoir si l'utilisateur debian-sys-maint existe ====
Pour vérifier si l'utilisateur **debian-sys-maint** est bien présent, nous allons simplement lister les utilisateurs enregistrés avec la ligne de commande suivante :
SELECT user,host FROM mysql.user;
ensuite, nous consultons le tableau retourné par le serveur MySQL qui devrai ressembler à ceci :
+------------------+-----------+
| user | host |
+------------------+-----------+
| user1 | % |
| user2 | % |
| user3 | % |
| root | 127.0.0.1 |
| user4 | localhost |
| debian-sys-maint | localhost |
| user5 | localhost |
| user6 | localhost |
| user7 | localhost |
| root | localhost |
+------------------+-----------+
10 rows in set (0.00 sec)
Si **debian-sys-maint** est présent dans la liste vous pouvez passer directement à la section "Mise à jour du mot de passe".
==== Création de l'utilisateur debian-sys-maint ====
Comme l'utilisateur **debian-sys-maint** n'existe pas, nous allons le créer avec la commande MySQL suivante qui créera en même temps le nouveau mot de passe :
GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'nouveau_mot_de_passe';
FLUSH PRIVILEGES;
==== Modification du mot de passe de l'utilisateur debian-sys-maint====
Si l'utilisateur est présent dans le système, nous allons simplement attribuer un nouveau mot de passe à l'utilisateur **debian-sys-maint** avec la commande MySQL suivante :
SET PASSWORD [FOR 'debian-sys-maint'@'localhost'] = PASSWORD('nouveau_mot_de_passe');
==== Couper la connexion au serveur MySQL =====
Pour quitter la connexion au serveur MySQL et revenir au prompt classique de votre terminal, rien de plus simple, c'est la commande suivante :
exit
===== Mettre à jour le fichier /etc/mysql/debian.cnf =====
Maintenant nous allons mettre à jour les données contenues dans le fichier// /etc/mysql/debian.cnf // en éditant celui-ci avec un éditeur de texte genre **nano** ou **vim** et nous allons modifier les mots de passe :
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = nouveau_mot_de_passe
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = nouveau_mot_de_passe
socket = /var/run/mysqld/mysqld.sock
basedir = /usr
===== Notes de version =====
* [28/05/2020] : Création de l'article
===== Auteurs et sources =====
* Auteur : [[:user:montuy337513]]
===== Navigation =====
{{page>:navigation#debian-serveur-mysqlmariadb}}
{{page>:navigation#serveur-dedie-debian}}