07.05.2011 08:16
Автор: Статью прислал -SNOCK

Некоторым системным администраторам приходящим на новую работу приходиться менять, восстанавливать пароли, ведь предыдущие админы не любят уходить по-хорему, потому как админ человек очень гордый! Итак в этой статье, я опишу пример того, как можно заменить рутовый пароль к MySQL. Для начала нашей процедуры мы останавливаем демон mysql: /usr/local/etc/rc.d/mysql stop и читам дальше ...
Теперь запустим его в режиме игнорирования прав:
/usr/local/bin/mysqld_safe --skip-grant-tables
При запуске он сообщит:
081125 14:34:59 mysqld_safe Logging to '/var/db/mysql/hilik.org.ua.err'.
081125 14:34:59 mysqld_safe Starting mysqld daemon with databases from /var/db/mysql
И останется работать на консоле. Вам необходимо переключится в другую консоль и подключится к mysql без пароля, под rootом:
mysql -uroot
И выполнить такие команды:
use mysql;
UPDATE user SET Password=PASSWORD('NEW_PASSWORD') WHERE Host='localhost' AND User='root';
exit;
Теперь можно перезапустить mysql в нормальном режиме.
/usr/local/etc/rc.d/mysql stop
/usr/local/etc/rc.d/mysql start
Теперь можно подключаться с вашим новым паролем.
Следует заметить, что когда вы запустили mysql в режиме игнорирования прав, то подключится к системе не сможет никто, поэтому процедуру смены пароля, я б рекомендовал бы, производить эту процедуру в момент наименьшей нагрузки и как можно оперативней. В принципе у меня эта процедура занимает примерно полторы минуты. На пароли всех остальных пользователей, данная процедура не влияет.