์ด์ ๋ ธ์ ๋ธ๋ก๊ทธ์ [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 ์ค์ ์ด ์๋ชป๋๋ฉด, ์ ์ํ์ง ๋ชปํ๋ค.