본문 바로가기

DB

Mysql root 비밀번호 재설정

Mysql root 비밀번호 재설정

root 패스워드를 잊은 경우 재설정하기. 

Windows

mysql 서비스를 종료한 뒤 관리자 권한으로 커맨드라인을 실행해 다음을 입력한다. 비밀번호 없이 mysql에 접속된다.
C:\> cd C:\Program Files\MySQL\MySQL Server 5.7\bin
C:\> start mysqld.exe --skip-grant-tables
C:\> mysql
cs


패스워드를 변경한다.

UPDATE mysql.user SET password=password('패스워드'WHERE user='root';
FLUSH PRIVILEGES;
cs


Mysql 5.7 버전 이상에선 컬럼명이 바뀌었다. 

5.7버전 이상은 다음을 입력한다.

UPDATE mysql.user SET authentication_string=password('패스워드'WHERE user='root'
FLUSH PRIVILEGES;
cs


나가고 종료한다.

exit
C:\> mysqladmin shutdown
cs


서비스를 재실행하고 새로운 비밀번호로 접속한다. 

Linux

서비스를 중지한다.
service mysqld stop
cs

인증 생략 옵션 / 안전모드로 데몬을 실행한다.
/usr/bin/mysqld_safe --skip-grant-tables &
cs


콘솔로 들어간다.

/usr/bin/mysql -u root mysql
cs


패스워드 변경하는 부분은 윈도우와 동일하다. 

5.7버전 미만

UPDATE mysql.user SET password=PASSWORD('패스워드'WHERE user='root'
FLUSH PRIVILEGES; 
quit
cs


5.7버전 이상

UPDATE mysql.user SET authentication_string=PASSWORD('패스워드'WHERE user='root'
FLUSH PRIVILEGES;
quit
cs


패스워드를 입력해야 접속할 수 있도록 서비스를 재시작한다.

service mysqld restart
cs

참고

ERROR 1049 (42000): Unknown database 'mysql' 에러는 설치 후 root 패스워드를 지정한 적이 없는 경우에 발생한다. 
service mysqld restartmysqladmin을 통해 패스워드를 설정한다.