Восстановление пароля 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
Теперь можно коннектиться с новым паролем.
18.12.2010 00:41
Комментарий (RSS) | Обратная ссылка
