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 restart 후 mysqladmin을 통해 패스워드를 설정한다.