wsl2에서 mysql을 설치하고 mysql에 접속하려고 하면
'ERROR 1698 (28000): Access denied for user 'root'@'localhost'
위와 같은 에러가 발생하는 경우가 있다. 이는 기본적으로 mysql의 root 계정의 패스워드 타입이 auth_socket으로 설정되어있기 때문이다.
mysql> USE mysql;
mysql> SELECT User, Host, plugin FROM mysql.user;
User에 root를 확인해보면 plugin이 auth_socket으로 설정되어있다. 이 값을 아래와 같이 변경해보자.
mysql_native_password
mysql> update user set plugin='mysql_native_password' where user='root';
mysql> flush privileges;
mysql> select user, host, plugin from user;
다시 접속하면 성공하는 모습을 볼 수 있다.
이때 비밀번호 없이 그냥 엔터를 치면 접속이 된다!
너무너무 해야할 게 많다 윈도우는..