Сброс пароля root в MySQL, Postgresql, FreeBSD

Категория: / DEV Блог / Сервер (FreeBSD)
MySQL

Добавляем в начале файла /usr/local/etc/rc.d/mysql-server
строчку:

mysql_args="--init-file=/root/reset"

Далее, создаем файл /root/reset с содержимым

UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';
GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY PASSWORD PASSWORD('password') WITH GRANT OPTION;
FLUSH PRIVILEGES;


Рестартим mysql - /usr/local/etc/rc.d/mysql-server restart
Mysql выполнит указанный скрипт при запуске и установит новый пароль для рута.

Не забудте закомментить добавленную строку.

PostgreSQL

Логинимся рутом в систему (ssh). Далее

su pgsql
psql -d template1 -U pgsql
alter user pgsql with password 'pgsql_password'; commit;


Для порядка рестарт демона /usr/local/etc/rc.d/postgres.sh restart

FreeBSD

Перезагружаем бокс
1. В выборе загрузчика тыкаем "Boot FreeBSD in single user mode"
2. На вопрос Enter full pathname of shell or RETURN for /bin/sh: отвечаем согласием
3. Монтируем фс mount -a
4. Стандартная команда passwd и ввод нового пароля

Для успешного логина в коробку без пароля в сингл режиме в /etc/ttys должны быть записи "on secure" для одного из терминалов.