Восстановление пароля root пользователя в MySQL
Что делать, если не знаешь пароль root пользователя? Часто бывает, когда приходится админить неизвестный сервак.
Но если ты знаешь root пароль к самой операционной системе, то всё можно исправить.
И так, выполняем следующие шаги для задания нового пароля
Шаг 1. Останавливаем mysql сервер (далее все действия выполняются из под рута)
1 |
# /etc/init.d/mysql stop |
Видим
1 Stopping MySQL database server: mysqld.
Шаг 2. Запускаем сервер без таблицы привилегий.
1 |
# mysqld_safe --skip-grant-tables & |
Знак & на конце означает, что процесс запускается как постоянный — демон.
Видим что то типа этого
123 [1] 5988Starting mysqld daemon with databases from /var/lib/mysqlmysqld_safe[6025]: started
При этом приглашения к вводу следующей команды может не быть. Просто жмём Enter.
Шаг 3. Подсоединяемся к серверу через имеющийся клиент mysql
1 |
# mysql -u root |
При этом пароль, даже если он есть у root пользователя, запрашиваться не будет.
Видим приглашение для ввода запросов
123456 Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 1 to server version: 4.1.15-Debian_1-logType 'help;' or '\h' for help. Type '\c' to clear the buffer.mysql>
Шаг 4. Устанавливаем новый пароль для root пользователя
1 2 3 4 |
mysql> use mysql; mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root'; mysql> flush privileges; mysql> quit |
Шаг 5. Останавливаем сервер
1 |
# /etc/init.d/mysql stop |
Видим в выходном потоке
12345 Stopping MySQL database server: mysqldSTOPPING server from pid file /var/run/mysqld/mysqld.pidmysqld_safe[6186]: ended[1]+ Done mysqld_safe --skip-grant-tables
Шаг 6. Запускаем сервер в нормальном режиме
1 2 |
# /etc/init.d/mysql start # mysql -u root -p |
Теперь можно коннектиться с новым паролем.
18.12.2010 00:41
Comment (RSS) | Обратная ссылка