Восстановление пароля root пользователя в MySQL

Что делать, если не знаешь пароль root пользователя? Часто бывает, когда приходится админить неизвестный сервак.
Но если ты знаешь root пароль к самой операционной системе, то всё можно исправить.

И так, выполняем следующие шаги для задания нового пароля

Шаг 1. Останавливаем mysql сервер (далее все действия выполняются из под рута)

# /etc/init.d/mysql stop

Видим

Stopping MySQL database server: mysqld.

Шаг 2. Запускаем сервер без таблицы привилегий.

# mysqld_safe --skip-grant-tables &

Знак & на конце означает, что процесс запускается как постоянный – демон.

Видим что то типа этого

[1] 5988
Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe[6025]: started

При этом приглашения к вводу следующей команды может не быть. Просто жмём Enter.

Шаг 3. Подсоединяемся  к серверу через имеющийся клиент mysql

# mysql -u root

При этом пароль, даже если он есть у root пользователя, запрашиваться не будет.
Видим приглашение для ввода запросов

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.1.15-Debian_1-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

Шаг 4. Устанавливаем новый пароль для root пользователя

mysql> use mysql;
mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit

Шаг 5. Останавливаем сервер

# /etc/init.d/mysql stop

Видим в выходном потоке

Stopping MySQL database server: mysqld
STOPPING server from pid file /var/run/mysqld/mysqld.pid
mysqld_safe[6186]: ended

[1]+  Done                    mysqld_safe --skip-grant-tables

Шаг 6. Запускаем сервер в нормальном режиме

# /etc/init.d/mysql start
# mysql -u root -p

Теперь можно коннектиться с новым паролем.

Рубрики: FreeBSD, MySQL
Понравилось? Поделись с другими плз












Комментарии ВКонтакте





Комментарии с сайта

Оставить комментарий

*