본문 바로가기

Eureka/MySQL

[Solution] Can't reset MySQL (MariaDB) root password

MySQL 을 사용하던 중 MariaDB 를 설치하여 사용할때 root 비밀번호을 입력해도

아래 오류가 표기되며 로그인이 되지 않는 현상이 발생한다.

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


이럴때 해결방법은 우선 다른 작업은 다 필요 없고 이미 이런 상태에서는

linux root 계정으로 mysql 을 비밀번호 없이도 로그인이 가능하다.

따라서 아래 command 를 차례로 입력하면 다음과 같은 결과를 볼수 있다.

$ sudo mysql -u root mysql
MariaDB [mysql]> SELECT user, plugin FROM user;
+------+-------------+
| user | plugin      |
+------+-------------+
| root | unix_socket |
+------+-------------+


plugin 이 문제가 되는 것이다. 우선 plugin 을 update 해주자.

MariaDB [mysql]> UPDATE user SET plugin='';


그리고 자신이 원하는 비밀번호를 적용후 DB 에 적용시키자.

MariaDB [mysql]> UPDATE user SET password=PASSWORD("supercom") WHERE User='root';
MariaDB [mysql]> FLUSH PRIVILEGES;
MariaDB [mysql]> QUIT;


이제 다시 시도해보자 비밀번호가 변경되어 있을것이다.

'Eureka > MySQL' 카테고리의 다른 글

[Solution] How to change Character Set in MySQL  (4) 2014.11.14