mysql login, access error

BenKim·2020년 8월 2일
0

mysql접속방법

$ mysql -u root -p

mysql root계정 비밀번호 변경하는 방법

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[yourPassword]'; 

접속하려는데 에러가 발생했다?!

mysql ERROR 1698 (28000): Access denied for user 'root'@'localhost'

같이공부하던 페어에게는 발생하지 않은거로 봐선 내가쓰는 환경에만 발생하는 오류인것 같아 구글링해봤다.

검색해보니 초기설정되어있는 mysql root계정의 패스워드 타입 때문인데 그것을 변경해주면 해결된다한다.

$ sudo mysql -u root # sudo를 사용하여 root계정으로 mysql에 접속한다. 

mysql> USE mysql;
mysql> SELECT User, Host, plugin FROM mysql.user;
 //현재상황
+------------------+-----------------------+
| User             | plugin                |
+------------------+-----------------------+
| root             | auth_socket           |
| mysql.sys        | mysql_native_password |
| debian-sys-maint | mysql_native_password |
+------------------+-----------------------+

저기 root의 plugin 값을 mysql_native-password로 바꿔주면 된다고한다.

mysql> update user set plugin='mysql_native_password' where user='root';

mysql> flush privileges; // 변경사항을 적용하는 명령어

mysql> select user, host, plugin from user;

//바뀐결과

+------------------+-----------------------+
| User             | plugin                |
+------------------+-----------------------+
| root             | mysql_native_password |
| mysql.sys        | mysql_native_password |
| debian-sys-maint | mysql_native_password |
+------------------+-----------------------+

이후 exit; 명령어로 접속을 종료할 수 있다.

profile
연습과 자신감

0개의 댓글