DB Authentication 문제 | ERROR 1698 | Access denied for user 'root'

sckwon770·2023년 10월 30일
0

MySQL

목록 보기
2/4

이전 노션 블로그의 [MySQL] DB Authentication 문제 | ERROR 1698 | Access denied for user 'root' (2021.07.26)로부터 마이그레이션된 글입니다.

MariaDB 10.0 버전부터는 보안 방식이 'Unix Socket' 방식이 적용된다.

  • mysql -u root -p password
  • spring datasource 접속

따라서 이 두 가지를 위해서는 plugin 을 바꿔야한다. 만약 초기 접속이라면, 비밀번호도 설정해줘야한다.

$ sudo mysql

mysql> use mysql;
mysql> CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'password';
mysql> UPDATE user SET plugin='mysql_native_password' WHERE user='user'
mysql> FLUSH PRIVILEGES;
mysql> exit;

$ sudo service mysql restart
$ mysql -u root -p PASSWORD

🚨 plugin 을 caching_sha2_password 으로 설정해선 안된다.
DB의 버전에 따라 필요한 경우가 있지만, mariaDB 설정에서는 mysql_native_password 가 올바른 설정이었다. plugin 설정이 잘못되면, 접속하지 못한다.

profile
늘 학습하고 적용하고 개선하는 개발자

0개의 댓글