wrkbrs

[MySQL] root 비밀번호 재설정 본문

MySQL

[MySQL] root 비밀번호 재설정

zcarc 2019. 11. 4. 19:17

 Windows MySQL root 패스워드 분실시
1. MySQL 프로세스 종료
[시작] - [실행] - 'services.msc' 입력 후 엔터
> mysql 관련 프로그램을 종료합니다.
2.인증제외한 MySQL 데몬 실행
# cd "C:Program FilesMySQLMySQL Server 5.5bin"

3. 비번없이 접속후 mysql DB의 user 테이블에서 root 패스워드 변경
# mysqld --skip-grant
이후 아무런 키가 먹지 않으며 창이 멈춘것처럼 보입니다.
다른 명령프롬프트 창을 띄워 mysql에 로그인합니다.
# mysql -u root -p
mysql> use mysql;
mysql> update user set password=password('new password') where user='root';
mysql> flush privileges;
mysql> quit

4. 정상적인 MySQL 프로그램 실행
열려진 명령프롬프트를 다 종료하고 services.msc 의 MySQL 관련 프로그램을 시작합니다.

http://faq.hostway.co.kr/Windows_DB/1794

 

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

 

 

https://kutar37.tistory.com/entry/Mysql-root-%EB%B9%84%EB%B0%80%EB%B2%88%ED%98%B8-%EC%9E%AC%EC%84%A4%EC%A0%95