[MySQL] ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 해결

Hyunjun Kim·2025년 4월 23일
0

SQL

목록 보기
48/90

MySQL 접속 오류: Access denied for user 'root'@'localhost'

MySQL 접속 시 다음과 같은 오류 메시지가 출력될 수 있다:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

이 오류는 비밀번호를 입력하지 않아서 발생한 것으로. 아래처럼 -p 옵션을 사용해보자:

$ mysql -u root -p

이 명령어를 실행하면 다음과 같이 비밀번호 입력을 요청하는 메시지가 나온다.

Enter password:

비밀번호를 입력하면 정상적으로 MySQL에 접속할 수 있다.

비밀번호를 입력했는데도 오류 발생

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

이 경우는 root 계정에 비밀번호가 설정되지 않았거나, 입력한 비밀번호가 잘못된 경우

해결 방법

  1. $ mysql -u root -p 입력
  2. 비밀번호 입력 요청 시 그냥 Enter(빈 입력)
  3. 비밀번호가 설정되지 않은 경우, 위와 같이 하면 접속이 된다.
  4. 접속 후, 아래 명령어로 비밀번호를 새로 설정하자.
mysql> USE mysql;
mysql> UPDATE user SET password = PASSWORD('1234') WHERE user = 'root';
mysql> FLUSH PRIVILEGES;
  • 위 명령어로 root 계정의 비밀번호를 "1234"로 설정할 수 있다.
  • FLUSH PRIVILEGES를 실행하지 않으면, 변경 사항이 적용되지 않는다.
  • 설정 후에는 다시 $ mysql -u root -p 로 접속해 "1234"를 입력해 로그인한다.

자주 발생하는 또 다른 오류

ERROR 2002 (HY000): Can't connect to local MySQL server through socket

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
  • 원인: MySQL 서버가 실행 중이 아니기 때문이다.
  • 해결 방법: MySQL 서비스를 수동으로 시작해야 함.
# Linux
$ sudo service mysql start

# macOS (Homebrew 설치 환경)
$ brew services start mysql
profile
Data Analytics Engineer 가 되

0개의 댓글