{{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}}