Access denied for user debian-sys-maint


Access denied for user debian-sys-maint — ошибка которая появляется при пароле системного пользователя debian-sys-maint с которым MySQL по какой-то причине не может получить доступ к таблицам баз данных. Часто такие ошибки возникают при настройке репликации MySQL — например, при настройке Galera Cluster.



Учетная запись debian-sys-maint используется сервисами для взаимодействия с MySQL. Пароль и сокет для подключения задаются в /etc/mysql/debian.cnf. Учетной записью удобно пользоваться для получения доступа тогда когда с реквизитами root подключиться по не удаётся.

debian-sys-maint также как root является суперпользователем. Из под debian-sys-maint можно зайти в консоль БД и, например, поменять пароль root.



Access denied for user debian-sys-maint


Следствие ошибки часто — невозможность остановить или перезапустить сервер баз данных. Чтобы исправить ошибку достаточно обносить пароль системного пользователя debian-sys-maint и привести его в соответствие тому, что задан в файле /etc/mysql/debian.cnf



Полностью ошибка может выглядеть так:

Got error: 1045: Access denied for user 'debian-sys-maint'@'localhost' (using password: YES) while connecting to the MySQL server


Просмотреть файл можно при помощи cat или less


less /etc/mysql/debian.cnf

[client]
host = localhost
user = debian-sys-maint
password = Fae4aeTggfiemei6Ohp
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
user = debian-sys-maint
password = Fae4aeTggfiemei6Ohp
socket = /var/run/mysqld/mysqld.sock
basedir = /usr



Затем нужно авторизоваться в консоли сервера баз данных с правами пользователя root и выполнить запрос на обновление пароля debian-sys-maint



mysql> GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'Fae4aeTggfiemei6Ohp';



Обновляем информацию о привилегиях

mysql> FLUSH PRIVILEGES;



Пароль на этом этапе уже обновлен,но для верности можно перезапустить MySQL.

systemctl restart mysql



После произведенных действий пароль обновился и ошибки больше возникать не должно — в случае с репликацией на всех серверах, которые в ней участвуют для пользователя debian-sys-maint стоит задавать одинаковый пароль.


Читайте про то как работать с пользователями MySQL.

Сказать спасибо