사용자 루트 localhost에 대한 오류 1045(28000) 액세스 거부(해결됨)

게시 됨: 2023-03-14

“Error 1045 (28000) access denied for user root localhost”는 WordPress CMS를 통해 MySQL에 액세스하려고 할 때 일반적으로 발생하는 오류입니다. 그러나 이 오류는 다른 상황에서도 발생할 수 있습니다.

발생하는 오류는 "루트" 사용자가 localhost에서 데이터베이스에 액세스하는 데 필요한 권한이 없음을 나타냅니다. 이 문제의 원인은 잘못된 암호, 잘못된 사용자 이름 또는 사용자에게 부여된 부적절한 권한을 포함하여 여러 가지일 수 있습니다.

다음은 이 오류를 해결하기 위해 취할 수 있는 몇 가지 단계입니다.

1. 아이디와 비밀번호를 확인하세요.

올바른 사용자 이름과 암호를 사용하고 있는지 확인하십시오. 사용자 이름은 "root"여야 하며 암호는 설치 과정에서 설정한 암호여야 합니다.

WordPress를 사용하는 경우 wp-config.php 파일을 확인해야 합니다. 파일은 WordPress의 기본 폴더에서 찾을 수 있습니다.

wp-config.php

파일을 열고 편집을 시도하면(Visual Studio Code) 다음 화면이 나타납니다.

wp-config.php 사용자 이름과 DB의 비밀번호 편집

올바른 값이 있는지 DB_USER 및 DB_PASSWORD를 확인하십시오.

 /** Database username */ define( 'DB_USER', 'root' );
 /** Database password */ define( 'DB_PASSWORD', 'root' );

DB의 사용자 이름과 비밀번호가 무엇인지 모를 경우 cPanel > Database > Mysql에 접속하여 확인하십시오.

cpanel로 데이터베이스화된 mysql에 액세스하는 방법

WordPress 데이터베이스의 비밀번호를 변경하려면 자습서를 따르십시오: Change WordPress Password in PHPMyAdmin

2. 사용자에게 필요한 권한이 있는지 확인

사용자 "루트"가 데이터베이스에 액세스하는 데 필요한 권한을 가지고 있는지 확인하십시오.

1단계: 먼저 터미널을 열고 ssh [email protected]를 작성해야 합니다.

 ssh [email protected]

2단계: 성공적으로 로그인한 후 이 명령을 기록합니다.

 mysql -uroot -p

3단계: 암호를 추가한 후 mysql 프롬프트에서 명령 추가를 시작할 수 있습니다.

4단계: 다음 명령을 사용하여 권한을 확인할 수 있습니다.

 SHOW GRANTS FOR 'root'@'localhost';

그러면 "root" 사용자가 "localhost" 서버에 대해 가지고 있는 권한 목록이 표시됩니다. 사용자에게 필요한 권한이 없는 경우 다음 명령을 사용하여 권한을 부여할 수 있습니다.

 GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'password';

참고: 'password'를 사용하려는 비밀번호로 바꾸십시오.

사용자에게 phpMyAdmin을 사용하여 필요한 권한이 있는지 확인하려면 다음 단계를 따르십시오.

  1. phpMyAdmin 계정에 로그인합니다.
  2. "사용자 계정" 탭을 클릭합니다.
  3. 사용자 루트(또는 암호를 변경하려는 사용자)를 선택합니다.
  4. 권한 수정 링크를 클릭합니다.
  5. 여기에서 사용자에게 부여된 권한 목록을 볼 수 있습니다.
  6. 사용자에게 데이터베이스에 액세스하는 데 필요한 권한이 부여되었는지 확인하십시오.
  7. 사용자에게 필요한 권한이 없는 경우 관련 확인란을 선택하고 "이동" 버튼을 클릭하여 권한을 부여할 수 있습니다.
  8. 필요한 권한을 부여한 후 데이터베이스에 다시 액세스하여 문제가 해결되었는지 확인하십시오.
phpmyadmin 편집 권한 링크

강조 표시된 영역의 설정을 확인해야 합니다.

phpmyadmin 사용자 권한

참고: phpMyAdmin을 통해 필요한 권한을 부여할 수 없는 경우 MySQL 명령줄 인터페이스에 액세스하여 권한을 부여해야 할 수 있습니다.

3. MySQL 서버 상태 확인

MySQL 서버가 실행 중인지 확인하십시오. 서버 셸에서 로그인 후 다음 명령을 실행하여 서버 상태를 확인할 수 있습니다.

 systemctl status mysql

서버가 실행 중이 아니면 다음 명령을 사용하여 시작합니다.

 systemctl start mysql

cPanel 호스팅에서 Mysql 상태를 확인하려면 호스팅 대시보드에 로그인해야 합니다. 또 다른 방법은 호스팅 제공업체에 직접 문의하는 것입니다.

4. MySQL 서버가 올바른 포트를 수신하고 있는지 확인하십시오.

MySQL 서버가 올바른 포트를 수신하고 있는지 확인하십시오. MySQL의 기본 포트는 3306 입니다.

MySQL 서버가 올바른 포트를 수신하고 있는지 확인하려면 다음 단계를 따르십시오.

1. MySQL이 설치된 서버에서 터미널 또는 명령 프롬프트를 엽니다.

2. 명령줄 클라이언트를 사용하여 MySQL 서버에 연결합니다. 다음 명령을 사용하여 usernamepassword 실제 MySQL 자격 증명으로 바꿀 수 있습니다.

 mysql -u username -p

3. MySQL 서버에 연결되면 다음 명령을 입력하여 MySQL 서버가 수신하는 포트 번호를 표시합니다.

SHOW VARIABLES LIKE 'port';

이 명령은 MySQL 서버가 수신 대기 중인 포트 번호를 표시합니다. 기본적으로 MySQL은 포트 3306에서 수신 대기합니다.

MySQL 구성 파일에서 포트 번호를 확인할 수도 있습니다.

구성 파일의 이름은 일반적으로 my.cnf 또는 my.ini 이며 MySQL 설치 디렉터리에 있습니다.

MySQL 설치 디렉토리를 찾으려면 다음 단계를 따르십시오.

1. MySQL이 설치된 서버에서 터미널 또는 명령 프롬프트를 엽니다.

2. 다음 명령을 입력하여 MySQL이 설치되어 있는지 확인합니다.

which mysql

MySQL이 설치된 경우 이 명령은 mysql 실행 파일의 경로를 표시합니다. 그렇지 않으면 오류 메시지가 표시됩니다.

MySQL이 설치되어 있으면 which 명령을 다시 사용하여 설치 디렉터리를 찾을 수 있습니다. 다음 명령을 입력하여 /path/to/mysql mysql 실행 파일의 경로로 바꿉니다.

 which mysql | xargs readlink -f | sed "s|bin/mysql$||"

이 명령은 MySQL 설치 디렉토리를 표시합니다. 이 디렉토리를 사용하여 MySQL 구성 파일( my.cnf 또는 my.ini ) 및 기타 MySQL 파일과 디렉토리를 찾을 수 있습니다.

또는 MySQL 클라이언트에 대한 액세스 권한이 있는 경우 다음 쿼리를 실행하여 MySQL 설치 디렉터리를 찾을 수도 있습니다.

 SELECT @@basedir;

그러면 MySQL 설치 디렉토리가 표시됩니다.

또한 MySQL 구성 파일을 확인하여 MySQL이 수신 대기하도록 구성된 포트 번호를 확인할 수 있습니다. 구성 파일의 이름은 일반적으로 my.cnf 또는 my.ini 이며 MySQL 설치 디렉터리에 있습니다.

my.cnf 및 SQL 포트

텍스트 편집기로 구성 파일을 열고 포트 매개변수를 검색하십시오. 이 매개변수의 값은 MySQL이 청취하도록 구성된 포트 번호를 지정합니다.

MySQL 서버가 올바른 포트에서 수신하지 않는 경우 구성 파일에서 포트 매개변수를 변경하고 MySQL 서버를 다시 시작하여 변경 사항을 적용할 수 있습니다.

포트를 변경한 경우 Mysql 서비스를 다시 시작하는 것을 잊지 마십시오.

 service mysql restart

5. 루트 비밀번호 재설정

위의 단계 중 어느 것도 작동하지 않으면 루트 암호를 재설정할 수 있습니다. 이 문서의 단계에 따라 이 작업을 수행할 수 있습니다.

https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html

참고: 이 방법을 사용하려면 MySQL 구성 파일에 대한 액세스 권한과 MySQL 서버를 다시 시작할 수 있는 기능이 필요합니다.

당신은 읽기에 관심이있을 수 있습니다:

WordPress에서 "설치 실패: 디렉토리를 생성할 수 없습니다" 오류를 수정하는 방법

유지 관리 모드에서 WordPress 멈춤을 수정하는 방법(SOLVED)

“업데이트 실패. 응답이 유효한 JSON 응답이 아닙니다”

"데이터베이스 연결 설정 오류"를 수정하는 방법? – 2023년