Сегодня займёмся восстановлением забытого (или потерянного) пароля пользователя MySQL – sani4. Единственное условие для этого – иметь доступ пользователя root в операционной системе, в этом случае на восстановление уйдёт не более 2-х минут..
Первое что нужно сделать это остановить сервер MySQL и запустить его без использования таблицы привилегий:
# /etc/init.d/mysql stop
Stopping MySQL database server: mysqld. |
# /etc/init.d/mysql stop
Stopping MySQL database server: mysqld.
# mysqld_safe --skip-grant-tables &
Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe: started |
# mysqld_safe --skip-grant-tables &
Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe: started
Далее подключаемся к серверу MySQL консольным клиентом под пользователем root, открываем базу mysql и в таблице user меняем пароль пользователя root:
# mysql –uroot
mysql> use mysql;
mysql> update user set password=PASSWORD("newpassword") where User='sani4'; |
# mysql –uroot
mysql> use mysql;
mysql> update user set password=PASSWORD("newpassword") where User='sani4';
Перечитываем привилегии пользователей в MySQL и отключаемся:
mysql> flush privileges;
mysql> quit |
mysql> flush privileges;
mysql> quit
Всё необходимое сделано теперь нужно остановить сервер MySQL и запустить его в обычном режиме:
# /etc/init.d/mysql stop
Stopping MySQL database server: mysqld
STOPPING server from pid file /var/run/mysqld/mysqld.pid
mysqld_safe: ended |
# /etc/init.d/mysql stop
Stopping MySQL database server: mysqld
STOPPING server from pid file /var/run/mysqld/mysqld.pid
mysqld_safe: ended
# /etc/init.d/mysql start |
# /etc/init.d/mysql start