[SQL] Access denied for user 'root'@'localhost' 오류발생

DeMar_Beom·2023년 8월 28일
0

SQL

목록 보기
3/17

Ubuntu MySQL접속 오류

mysql -u root -p 접속 오류

  • aws에서 ubuntu22.04버전(프리티어)을 실행하여 mysql을 설치하였는데 mysql -u root -p을 입력했는데 비밀번호를 설정한 적이 없으나 비밀번호가 걸려있음

문제 상황

mysql -u root -p

ERROR 1698 (28000): Access denied for user 'root'@'localhost'
  • 비밀번호 창에 빈 enter를 쳤는데도 Access denied발생
  • sudo 권한으로 실행 후 접속은 가능하나 GRANT구문을 사용하려고 하는데 권한이 없다는 오류 발생

해결방법

  • 확인해보니 ubuntu같은 일부 리눅스 시스템에서는 mysql에서는 설치 후 plugin이 auth_socket으로 자동으로 되어 있어서 접속 불가
use mysql;
select user, host, plugin from mysql.user;

+------------------+-----------+-----------------------+
| User             | Host      | plugin                |
+------------------+-----------+-----------------------+
| debian-sys-maint | localhost | caching_sha2_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | auth_socket           |
+------------------+-----------+-----------------------+
  • 이를 mysql_native_password로 변경해주면 일반적으로 로그인 가능
update user set plugin='mysql_native_password' where user='root';

flush privileges;

select user, host, plugin from user;
+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| debian-sys-maint | localhost | caching_sha2_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | mysql_native_password |
+------------------+-----------+-----------------------+
  • 이후 다시 myqsl -u root -p를 입력하고 비밀번호 창에 패스워드 입력 없이 그냥 엔터를 치면 접속이 됨

참고

0개의 댓글