Подтвердить что ты не робот

MySQL - ОШИБКА 1045 - Доступ запрещен

В некотором роде мне удалось получить эту ошибку, когда я пытаюсь получить доступ к MySQL через командную строку:

[[email protected] ~]# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

Я попытался сбросить пароль без ведома, используя этот HowTo.

Я удалил mysql completeley и переустановил, но меня все еще спрашивают пароль. Я понятия не имею, почему это так!

Может кто-нибудь помочь мне получить установку MySQL по умолчанию.

Окружающая среда

Fedora Core 10, полный корневой доступ, установлен Apache и PHP

Спасибо за любую помощь!

ИЗМЕНИТЬ

Для всех тех, кто хотел бы сохранить себя через несколько часов после "кашля в крови" - когда вы удаляете MySQl, полностью удаляйте все, что осталось. Если вы этого не сделаете, это никогда не будет установкой FRESH.

4b9b3361

Ответ 1

Если вы действительно установили пароль root, и вы только что потеряли/забыли его:

  • Остановить MySQL
  • Перезапустите его вручную с помощью опции skip-grant-tables: mysqld_safe --skip-grant-tables

  • Теперь откройте новое окно терминала и запустите клиент MySQL: mysql -u root

  • Reset пароль root вручную с помощью этой команды MySQL: UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root'; Если вы используете MySQL 5.7 (проверьте с помощью mysql -version в терминале), то команда:

    UPDATE mysql.user SET authentication_string=PASSWORD('password')  WHERE  User='root';
    
  • Выполните сброс привилегий с помощью этой команды MySQL: FLUSH PRIVILEGES;

От http://www.tech-faq.com/reset-mysql-password.shtml

(Возможно, это не то, что вам нужно, Abs, но я полагаю, что это может быть полезно для людей, которые спотыкаются об этом вопросе в будущем)

Ответ 2

Попробуйте подключиться без пароля:

mysql -u root

Я считаю, что начальным значением по умолчанию является пароль для учетной записи root (который, очевидно, должен быть изменен как можно скорее).

Ответ 3

используйте эту команду, чтобы проверить возможный вывод

mysql> select user,host,password from mysql.user;

выход

mysql> select user,host,password from mysql.user;
+-------+-----------------------+-------------------------------------------+
| user  | host                  | password                                  |
+-------+-----------------------+-------------------------------------------+
| root  | localhost             | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root  | localhost.localdomain | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root  | 127.0.0.1             | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| admin | localhost             | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| admin | %                     |                                           |
+-------+-----------------------+-------------------------------------------+
5 rows in set (0.00 sec)
  1. В этом пользователе администратор не будет разрешено войти с другого хоста, хотя вы дали разрешение. причина в том, что пользователь admin не идентифицирован ни одним паролем.
  2. Предоставьте пользователю admin пароль еще раз с помощью команды GRANT.

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED by 'password'
    

затем проверьте ГРАНТ-ЛИСТ, выход которого будет как его

mysql> select user,host,password from mysql.user;

+-------+-----------------------+-------------------------------------------+
| user  | host                  | password                                  |
+-------+-----------------------+-------------------------------------------+
| root  | localhost             | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root  | localhost.localdomain | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root  | 127.0.0.1             | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| admin | localhost             | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| admin | %                     | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
+-------+-----------------------+-------------------------------------------+
5 rows in set (0.00 sec)

если необходимому пользователю, например, пользователю 'admin', необходимо разрешить вход в систему, используйте команду Once GRANT и выполните команду.

Теперь пользователю должно быть разрешено войти в систему.

Ответ 4

Текущий пароль root должен быть пустым. Затем под "новым корневым паролем" введите свой пароль и подтвердите.

Ответ 6

  • Перейдите в консоль mysql
  • Введите использование mysql;
  • UPDATE mysql.user SET Password = PASSWORD ('') WHERE Пользователь = 'root' ПРИВИЛЕГИИ ФЛЮЗА; Выход PASSWORD ('') должен быть пуст
  • Затем перейдите в wamp/apps/phpmyadmin../config.inc.php
  • Найти $cfg ['Servers'] ['$ I'] ['password'] = 'root';
  • Замените ['password'] на ['ваш старый пароль']
  • Сохранить файл
  • Перезапустите все службы и перейдите в localhost/phpmyadmin

Ответ 7

Я не мог подключиться к MySql Administrator. Я исправил его, создав другого пользователя и назначив все разрешения.

Я вошел в систему с этим новым пользователем и работал.

Ответ 8

У меня была та же ошибка, но это было, потому что password_expired был установлен в Y Вы можете исправить эту проблему, следуя тому же подходу, что и текущий принятый ответ, но вместо этого выполнив запрос MySQL:

UPDATE mysql.user SET password_expired = 'N' WHERE User='root';