Шаг 1
Остановить базу данных:
shell> /etc/init.d/mysql stop
Шаг 2
Перезагрузить базу данных
- без аутентификации по паролю
- без подключения к сети
Доступ к базе данных возможен только через файл sock '/var/lib/mysql/mysql.sock'.
shell> mysqld --user=mysql --pid-file=/var/lib/mysql/mysqld.pid \
--socket=/var/lib/mysql/mysql.sock --datadir=/var/lib/mysql \
--skip-grant-tables --skip-networking &
Шаг 3
Подключиться к базе данных и сменить пароль:
shell> mysql --database mysql --socket=/var/lib/mysql/mysql.sock
Если хотите, покажите всем пользователям:
mysql> select User, password from user;
Установить новый пароль:
mysql> update user set password=password('NEW PASS') WHERE User='USERNAME';
Оставить соединение с базой данных:
mysql> exit
Шаг 4
Перезагрузите сервер базы данных "нормально".
shell> kill `cat /var/lib/mysql/mysqld.pid`
shell> /etc/init.d/mysql start