리눅스/mysql

mysql 패스워드 분실, 재설정

Rohin 2021. 1. 11. 10:23
반응형

MySQL 5.7.9 버젼 설치 후 root 접속 시도 시 패스워드 장애로 MySQL 접속이 안될때

 

#/etc/init.d/mysql stop

#/usr/local/mysql/bin/mysqld_safe --skip-grant-tables &

#mysql -u root

update mysql.user set password=password('패스워드') where user='root';

 

콘솔 윈도우에서 mysqld_safe 실행으로 safe 모드로 MySQL 데몬을 구동하고 다른 콘솔 윈도우를 띄어 MySQL에 접속한다.

 

#mysql -u root -p

 

접속 후 다음 명령어로 root 비밀번호를 업데이트한다.

 

[5.7 이전 버젼]

 

update mysql.user set password=password('패스워드') where user='root';

FLUSH PRIVILEGES;

 

[5.7 이후 버젼]

 

update user set authentication_string=password('패스워드') where user='root';

FLUSH PRIVILEGES;

 

(5.7 이후 버젼에는 password 필드가 존재하지 않는다.)

 

설정 후 MySQL 접속 후 명령을 실행하게 되면 다음과 같은 장애가 발생한다.

 

mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

위와 같은 오류가 발생하는 경우 다음과 같은 명령어를 실행한다.

mysql> SET PASSWORD = PASSWORD('패스워드');

Query OK, 0 rows affected (0.01 sec)