MySQL - ОШИБКА 1045 - Доступ запрещен - PullRequest
42 голосов
/ 28 января 2009

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

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

Я попытался сбросить пароль без какого-либо везения, используя это руководство.

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

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

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

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

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

EDIT

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

Ответы [ 6 ]

81 голосов
/ 29 января 2009

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

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

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

  4. Сброс пароля 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';
    
  5. Сбросить привилегии с помощью этой команды MySQL: FLUSH PRIVILEGES;

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

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

13 голосов
/ 28 января 2009

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

mysql -u root

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

4 голосов
/ 20 апреля 2015

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

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 не будет разрешено входить с другого хоста, хотя вы дали разрешение. причина в том, что пользователь 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', необходимо разрешить вход в систему, используйте однократно команду GRANT и выполните команду.

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

1 голос
/ 02 августа 2010

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

0 голосов
/ 05 мая 2017

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

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

0 голосов
/ 25 марта 2015
  1. Перейти к консоли MySQL
  2. Enter use mysql;
  3. ОБНОВЛЕНИЕ mysql.user SET Password = PASSWORD ('') WHERE User = 'root' ПРИВИЛЕГИИ ПРОМЫВКИ; выход ПАРОЛЬ ('') должен быть пустым
  4. Затем перейдите в wamp / apps / phpmyadmin ../ config.inc.php
  5. Find $ cfg ['Servers'] ['$ I'] ['password'] = 'root';
  6. Заменить ['пароль'] на ['ваш старый пароль']
  7. Сохранить файл
  8. Перезапустите все службы и перейдите на localhost / phpmyadmin
...