Windows 10 Ubuntu에서 MariaDB 설치 시 root 로그인 실패
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
와 같은 에러가 발생할 때 해결하는 방법이다.
다음 명령들을 수행한다.
sudo chmod 644 /etc/mysql/debian.cnf
sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf
[mysqld]
아래에 다음 내용을 추가하고 저장.
skip-grant-tables
sudo service mysql restart
mysql -u root -p
패스워드 입력에서 엔터키를 친다.
MariaDB 콘솔에 접속되면 다음 명령어들을 입력한다.
FLUSH PRIVILEGES;
select user, host, password, plugin, authentication_string from mysql.user where user='root';
plugin에 unix_socket이 존재해서 로그인에 실패하고 있다.
update mysql.user set plugin='' where user='root';
select user, host, password, plugin, authentication_string from mysql.user where user='root';
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('새 패스워드');
exit
sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf
아까 추가한 skip-grant-tables
를 제거하고 저장한다.
sudo service mysql restart
다시 접속을 시도해본다.