ошибка: 'Доступ запрещен для пользователя' debian-sys-maint '@' localhost '(используя пароль: YES) - PullRequest
8 голосов
/ 20 января 2012

Давний читатель Stackoverflow, впервые задающий вопрос.

Мне пришлось перезагружать аппаратный ноутбук несколько дней назад по разным причинам. Когда я вернул его обратно, я понял, что mysqld больше не доступен. Я обычно соединяюсь с root на локальной машине разработчика. Я не мог запустить / остановить его через init-скрипты, как обычно, и поэтому я обратился к различным поисковым системам, как всегда. Посоветовавшись с Google, Bing и Duckduckgo.com, я так и не смог найти решение этой проблемы. Я нашел решения для подобных проблем, но все они включали изменение автоматически сгенерированного пароля для debian-sys-maint и входа в систему как root для установки нового, но так как я не могу войти в систему как root, это не решает мою проблему.

Кто-нибудь знает какие-либо другие варианты решения этой дилеммы?

ошибка: 'Доступ запрещен для пользователя' debian-sys-maint '@' localhost '(используется пароль: YES)'.

Ответы [ 3 ]

9 голосов
/ 24 февраля 2013

Я только что получил ту же ошибку после восстановления базы данных mysql, например, так:

mysql -h localhost -u root -p < mysql.backup.sql

mysql.backup.sql файл приходит с другого сервера.

Кажется, проблема связана сдругой пароль хранится в /etc/mysql/debian.cnf в целевой и исходной системах.Я скопировал / вставил строку пароля из файла debian.cnf в исходной системе в файл в целевой системе.Тогда я смог перезапустить MySQL без каких-либо проблем.

Примечание: мне пришлось сделать killall mysqld, прежде чем я смог сделать перезагрузку.

3 голосов
/ 20 января 2012

Похоже, вы могли уничтожить таблицы в базе данных («mysql»), в которой хранятся учетные данные для доступа ко всем базам данных. Вы видите что-нибудь в журналах MySQL (/ var / log / mysql), что указывает на проблему?

В случае повреждения подход к его устранению будет зависеть от механизма хранения. Вы используете MyISAM (по умолчанию)? Если это так, попробуйте отключить демон и использовать myisamchk для попытки восстановления.

Если вы не можете восстановить, вам, вероятно, придется восстанавливать из резервных копий (у вас есть резервные копии, верно?) Или повторно инициализировать MySQL (возможно, просто переустановить пакет через APT проще всего).

Вы можете попробовать и ServerFault, чтобы получить больше советов от опытных системных администраторов.

P.S. - если у вас есть доступ суперпользователя системы, вы можете сбросить корневой пароль MySQL, даже если вы не можете войти в MySQL, хотя и через несколько запутанную процедуру .

0 голосов
/ 20 января 2012

В этом нет ничего странного или необычного.

Ошибка означает, что пароль неверный.

Если вы хотите изменить / сбросить пароль, взгляните на эту статью - http://dev.mysql.com/doc/refman/5.1/en/resetting-permissions.html

...