Сервер MySql, не распознающий правильный пароль

Я установил сервер MySql на Ubuntu 14.04 LTS. У меня есть предшествующий опыт к нему также.

Но каждый раз, когда я вхожу в систему, с помощью mysql -u root -p и после ввода пароля это говорит:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

Я ввел правильный пароль. То же самое произошло дни назад, но затем я полностью удалил mysql и переустановил его снова.

Также я пытался перезапустить mysql сервер, но никакую справку!

Кто-либо может помочь?

3
задан 31 December 2014 в 21:35

3 ответа

Всегда читайте содержание /usr/share/doc/имя пакета/ для пакетов Вы установили. Они содержат важную информацию для использования и управления пакетами.

Таким образом для mysql-server-5.5 существует важная информация в /usr/share/doc/mysql-server-5.5/README.Debian.gz. Как это gzipплетеная корзинка, удобно использовать zmore считать его.

Там Вы видите, что можно использовать debian-sys-maint пользователь для доступа к базе данных для администрирования. Так же, как root использовать /etc/mysql/debian.cnf конфигурационный файл для входа в систему как тот пользователь. Заметьте, что Вы НИКОГДА не должны изменять тот пользовательский пароль, если Вы также не изменяете его в файле debian.cnf. В противном случае mysql прекратит работать.

Так, для изменения пароля для root пользователь, попробуйте это.

$ sudo mysql --defaults-file=/etc/mysql/debian.cnf
mysql> UPDATE mysql.user SET Password=PASSWORD('*secret*') WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit;
$ mysql -u root -p

Если можно использовать *secret* пароль для входа в систему в как пользователь root, Вам удалось изменить пароль для root.

Заметьте это использование debian-sys-maint пользователь только работает на базирующиеся дистрибутивы Debian.

Заметьте также это, если у Вас также есть пакет dbconfig-common установленный и набор для хранения root пароль (см. /etc/dbconfig/config), необходимо реконфигурировать тот пакет, таким образом, он знает, что пароль управляет базами данных для других пакетов.

Наконец, хорошая информация может также быть считана в Wiki Debians и в свободном Книга Системных администраторов

3
ответ дан 1 December 2019 в 15:25

Сначала остановите mysql сервер

 sudo service mysql stop

Выполнение следующая команда, которая запустит сервер снова и пропустит таблицы предоставления, которые хранят пароли.

 mysqld_safe --skip-grant-tables

сервер Mysql должен теперь запуститься. Затем мы входим в корень без пароля.

 mysql -u root 

И затем нажимают Enter

Теперь, мы работаем, следующие команды в mysql для сброса пароля

 update user set 
 Password=PASSWORD('new-password')
 where user='root';
 flush privileges;
 exit;

Теперь перезапускают mysql сервер

 sudo service mysql restart 

, необходимо теперь быть в состоянии войти в систему с паролем, который Вы просто устанавливаете

 mysql -u root -p

, Нажимают Enter, и необходимо получить подсказку для пароля root, и это должно быть принято.

3
ответ дан 17 November 2019 в 09:42

У меня была эта проблема, и я решил ее, добавив sudo, например sudo mysql -u root -p и используя пароль, установленный при установке.

1
ответ дан 4 July 2020 в 14:58

Другие вопросы по тегам:

Похожие вопросы: