MySQL root 패스워드 분실

DB/MySQL 2015. 5. 21. 17:04

mysqld 중지

[root@localhost ~]# service mysqld stop
Stopping MySQL:                                            [  OK  ]

mysqld_safe 실행

[root@localhost ~]# /usr/bin/mysqld_safe --skip-grant &
[1] 32055
Starting mysqld daemon with databases from /var/lib/mysql

→ 이제 패스워드 없이 mysql에 접속할 수 있게 되었다.[1]

새 패스워드 지정

mysql 콘솔로 들어가자.[2]

/usr/bin/mysql -uroot mysql

다음 SQL 명령어를 입력하여 원하는 패스워드로 변경한다.

update user set password=password('패스워드') where user='root'; 
flush privileges; 
quit
실행 예시
[root@localhost ~]# /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> quit
Bye

mysqld 재시작

이제 패스워드를 입력해야만 mysql을 사용할 수 있도록 하기 위해, mysqld를 재시작한다.

[root@localhost ~]# 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로 재시작되었다.

같이 보기

주석

  1. 이동 로컬에서는 인증 없이 mysql의 root 권한을 사용가능하게 됨
  2. 이동 ERROR 1049 (42000): Unknown database 'mysql' 라고 나오면서 안들어 가지는 경우가 있을 수 있는데, mysql 설치 이후 한번도 root 패스워드를 지정하지 않은 상태이다. 이 때는 본 문서를 따르지 말고 service mysqld restart한다. 그러면 mysqladmin을 통한 패스워드 설정 방법이 나올 것이다.

참고 자료



출처 - http://zetawiki.com/wiki/MySQL_root_%ED%8C%A8%EC%8A%A4%EC%9B%8C%EB%93%9C_%EB%B6%84%EC%8B%A4#mysqld_.EC.A4.91.EC.A7.80

'DB > MySQL' 카테고리의 다른 글

MySQL Cluster  (0) 2016.08.04
스케일 아웃 측면에서 살펴본 MySQL의 특성  (0) 2016.08.04
MSSQL 문자열 구분자 분리 (테이블 반환 함수)  (0) 2012.12.11
MSSQL PROC ARRAY  (0) 2012.12.11
MySQL 프로세스 리스트 보기  (0) 2011.04.22
: