programing

MySQL - ERROR 1045 - 접근이 거부되었습니다.

kingscode 2022. 11. 8. 21:25
반응형

MySQL - ERROR 1045 - 접근이 거부되었습니다.

명령줄을 통해 MySQL에 액세스하려고 하면 다음과 같은 오류가 발생합니다.

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

이 HowTo를 사용하여 패스워드를 리셋해 보았습니다.

mysql complety를 제거하고 다시 설치했지만 여전히 비밀번호가 요구됩니다.왜 이런지 모르겠어요!

누가 MySQL 기본 설치를 도와줄 수 있나요?

환경

Fedora Core 10, 풀루트 액세스, Apache 및 PHP 설치

도와주셔서 감사합니다!!

편집

MySQL을 제거하면 몇 시간 동안 "피 기침"이 발생하지 않도록 하고 싶은 모든 분들에게.이렇게 하지 않으면 FREASH 설치가 되지 않습니다.

루트 패스워드를 실제로 설정했는데 잊어버린 경우:

  1. MySQL 중지
  2. skip-grant-tables 를 합니다.mysqld_safe --skip-grant-tables

  3. 클라이언트 "MySQL" 을 합니다.mysql -u root

  4. 명령어를 으로 리셋합니다.MySQL 명령어는 MySQL로 리셋됩니다.UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root'; 5을다음과 같습니다.MySQL 5.7은 mysql --version --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 에서

(Abs, 어쩌면 이것이 당신에게 필요한 것은 아닐지도 모르지만, 저는 이것이 미래에 이 질문을 우연히 접하는 사람들에게 유용할 것이라고 생각합니다.)

암호 없이 연결:

mysql -u root

초기 디폴트로는 루트 계정의 비밀번호가 없다고 생각합니다(가능한 한 빨리 변경해야 합니다).

이 명령어를 사용하여 가능한 출력을 확인합니다.

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. GRANT 명령을 사용하여 사용자 관리자에게 암호를 다시 부여합니다.

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

GRANT LIST를 체크하면 아웃풋이 그의 아웃풋과 같아집니다.

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 명령을 사용하고 명령을 실행합니다.

이것으로, 유저의 로그인이 허가됩니다.

현재 루트 암호는 비어 있어야 합니다.그런 다음 "new root password"에 비밀번호를 입력하고 확인합니다.

나도 같은 실수를 했지만, 그건password_expired로 설정되었다.Y 문제는 현재 승인된 답변과 동일한 방법을 따르지만 MySQL 쿼리를 실행하여 해결할 수 있습니다.

UPDATE mysql.user SET password_expired = 'N' WHERE User='root';
  1. mysql 콘솔로 이동
  2. use mysql을 입력합니다.
  3. UPDATE mysql.user SET PASSWORD ('') 여기서 User='root' FLUSH PRIVESS; exit PASSWORD (')는 비워 두어야 합니다.
  4. 그런 다음 wamp/apps/phpmyadmin으로 이동합니다./config.inc.module
  5. $cfg ['Servers']['$I']['password']='root'를 찾습니다;
  6. [password]를 [your old password]로 바꿉니다.
  7. 파일 저장
  8. 모든 서비스를 재시작하고 goto localhost/phpmyadmin을 실행합니다.

MySql Administrator에 연결할 수 없습니다.다른 사용자를 만들고 모든 권한을 할당하여 수정했습니다.

새 사용자로 로그인했더니 작동했어요.

언급URL : https://stackoverflow.com/questions/489119/mysql-error-1045-access-denied

반응형