데이타베이스/MYSQL
MySQL root 패스워드 분실시
유키공
2018. 1. 18. 13:30
MySQL root 패스워드 분실시
1 mysqld 중지$ service mysqld stop Stopping MySQL: [ OK ]
- 인증 생략 옵션 + 안전모드로 데몬 실행
/usr/bin/mysqld_safe --skip-grant &
/usr/bin/mysqld_safe --skip-grant-tables &
$ /usr/bin/mysqld_safe --skip-grant-tables &→ 이제 패스워드 없이 mysql에 접속할 수 있게 되었습니다.
mysql 콘솔로 들어가서
다음 SQL 명령어를 입력하여 원하는 패스워드로 변경합니다.
/usr/bin/mysql -u root mysql
- 5.7 버전 미만
- 5.7 버전 이상
예)
4 mysqld 재시작
이제 패스워드를 입력해야만 mysql을 사용할 수 있도록 하기 위해, mysqld를 재시작한다.
UPDATE mysql.user SET password=PASSWORD('패스워드') WHERE user='root'; FLUSH PRIVILEGES; quit
UPDATE mysql.user SET authentication_string=PASSWORD('패스워드') WHERE user='root'; FLUSH PRIVILEGES; quit
$ /usr/bin/mysql -uroot mysql Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.0.77 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> update user set password=password('P@ssw0rd') where user='root'; Query OK, 3 rows affected (0.00 sec) Rows matched: 3 Changed: 3 Warnings: 0 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql
$ service mysqld restart STOPPING server from pid file /var/run/mysqld/mysqld.pid 120229 13:08:54 mysqld ended Stopping MySQL: [ OK ] Starting MySQL: [ OK ] [1]+ Done /usr/bin/mysqld_safe --skip-grant→ 백그라운드로 실행 중이던 무인증 안전모드 mysqld 프로세스가 중지되고 정상모드 mysqld로 재시작되었습니다.