DB

[MariaDB] [28000][1045] (conn=1034) 오류 해결

웹개발자(진) 2024. 6. 22. 22:35
반응형

 

 

 

잡담

인텔리지에서도 DB를 바로연결해서 사용할 수 있지 않습니까? 해당 기능을 이용해서 MariaDB를 연결 중이었는데요. DB를 연결하기 전 Test연결을 진행합니다. 해당 연결이 올바르게 실행되는지에 대해서 말이죠. 저도 연결을 하던 중 Test를 클릭하는 순간 해당 오류가 발생했습니다. 오늘은 해당 오류를 해결하는 방법에 대해 알아보도록 하겠습니다.

 


 

Intellij DB 연결

 

우선 가볍게 intellij에서 DB를 연결해 봅시다. 아래는 MariaDB/MySQL을 연결하는 방법입니다.

1. 데이터베이스 플러그인 설치

먼저, IntelliJ IDEA가 데이터베이스 기능을 지원하는지 확인해야 합니다. 보통은 기본적으로 설치되어 있지만, 만약 없다면 플러그인을 설치해야 합니다.

  1. File > Settings로 이동합니다.
  2. Plugins 섹션에서 Database Navigator 또는 Database Tools and SQL 플러그인을 검색하여 설치합니다.

2. 데이터베이스 도구창 열기

  1. IntelliJ IDEA에서 View > Tool Windows > Database를 선택합니다. 그러면 데이터베이스 도구창이 나타납니다.

3. 데이터베이스 연결 설정

  1. 데이터베이스 도구창에서 + 아이콘을 클릭하고, Data Source를 선택합니다.
  2. 연결하려는 데이터베이스 종류를 선택합니다. 예를 들어 MySQL, PostgreSQL 등을 선택합니다.

4. 데이터베이스 연결 정보 입력

  1. General 탭에서 다음 정보를 입력합니다:
    • Host: 데이터베이스 서버의 호스트 이름 또는 IP 주소.
    • Port: 데이터베이스 서버의 포트 번호 (보통 MySQL의 경우 기본값은 3306).
    • Database: 연결할 데이터베이스의 이름.
    • User: 데이터베이스 사용자 이름.
    • Password: 데이터베이스 사용자 비밀번호.
  2. Test Connection 버튼을 클릭하여 연결이 성공적으로 이루어지는지 확인합니다. 연결에 성공하면 "Success" 메시지가 나타납니다.

5. 드라이버 설정

  1. Driver 탭에서 사용 중인 데이터베이스의 JDBC 드라이버가 설정되어 있는지 확인합니다. 드라이버가 설정되지 않았거나 최신 버전이 필요하면, Download 버튼을 클릭하여 드라이버를 다운로드합니다.

6. 연결 저장 및 사용

  1. 설정이 완료되면 OK 버튼을 클릭하여 연결 설정을 저장합니다.
  2. 이제 데이터베이스 도구창에서 설정한 데이터베이스 연결을 통해 데이터베이스 테이블, 뷰, 스키마 등을 탐색하고 쿼리를 실행할 수 있습니다.

 


 

[28000][1045] (conn=1034) 오류 발생

 

Test Connection을 클릭해서 연결테스트 도중 아래와 같은 알람이 뜨면서 연결에 실패했습니다.

해당 메시지는 데이터베이스에 연결할 때 발생하는 일반적인 에러로, "Access denied for user"라는 내용입니다. 이는 사용자가 제공한 자격 증명(아이디 또는 비밀번호)이 올바르지 않거나, 해당 사용자가 해당 데이터베이스에 접근 권한이 없음을 의미합니다.

해당 오류에는 두가지 오류내용이 있는데

using password: No

[28000][1045] (conn=1034) Access denied for user 'admin'@localhost' (using password: NO)

using password: Yes

[28000][1045] (conn=1034) Access denied for user 'admin'@localhost' (using password: Yes)

 


 

[28000][1045] (conn=1034) 오류 해결방법

 

using password: No

해당 오류 같은경우 비밀번호를 입력하지 않았을 때 나타나는 오류이니 password를 입력했는지 다시 한번 확인해 보시면 될 거 같습니다.


using password: Yes

해당 오류는 비밀번호는 입력했지만 해당 비밀번호가 틀릴 때 발생합니다. 아래에 방법들을 따라 해보세요.

1. 사용자 자격 증명 확인:

  • 데이터 베이스에 연결할 때 사용하는 사용자 이름과 비밀번호가 올바른지 확인하세요.
  • 자격 증명이 올바르지 않은 경우, 관리자에게 올바른 자격 증명을 요청하세요.

2. 사용자 권한 확인:

  • 해당 사용자가 데이터베이스에 접근할 수 있는 권한이 있는지 확인해야 합니다. MySQL에서는 다음과 같은 쿼리를 통해 사용자의 권한을 확인할 수 있습니다.
SHOW GRANTS FOR 'admin'@'localhost';
  • 위 쿼리를 실행하여 해당 사용자가 어떤 권한을 가지고 있는지 확인하세요

3. 사용자 권한 부여:

  • 만약 사용자가 필요한 권한이 없다면, 관리자 권한이 있는 계정을 통해 필요한 권한을 부여해야 합니다. 예를 들어, 모든 권한을 부여하려면 다음과 같은 명령을 사용할 수 있습니다.
GRANT ALL PRIVILEGES ON DB이름.* TO 'admin'@'localhost';
FLUSH PRIVILEGES;
  • 위 명령은 'DB이름' 데이터베이스에 대한 모든 권한을 'admin' 사용자에게 부여합니다. 'localhost' 부분은 해당 사용자의 호스트를 의미하므로 필요에 따라 변경하세요. 

4. 비밀번호 재설정:

  • 사용자의 비밀번호가 정확하지 않다면, 비밀번호를 재설정해보세요. 비밀번호를 변경하려면 다음 명령을 사용할 수 있습니다.
SET PASSWORD FOR 'admin'@'localhost' = PASSWORD('새로운비밀번호');

 


 

글을 마치며

저 같은 경우에는 지정해 놓은 비밀번호를 틀리게 입력해서 발생했습니다. 저와 같은 경우가 대부분이긴 하지만 한 번씩 권한이 없어서 발생하기도 해서 권한 부여하는 방법을 적어왔습니다. 오늘은 [28000][1045] (conn=1034) 오류 해결하는 방법에 대해서 알아보았습니다.

반응형