티스토리 뷰

SERVER

MySQL root 패스워드 분실

Dev.Luv 2016. 9. 26. 11:03

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로 재시작되었다.

댓글