При утере пароля root для MySQL, восстановить его не составляет особого труда. Но придется немного поработать в терминале.
Итак, останавливаем MySQL:
/etc/init.d/mysql stop
Теперь запускаем mysql с параметром --skip-grant-tables
/usr/bin/mysqld_safe --skip-grant-tables &
При использовании --skip-grant-tables мы сможем подключиться к mysql серверу без ввода пароля, что и делаем
mysql --user=root mysql
Теперь необходимо набрать mysql-запрос с указанием замены пароля и выполнить его затем обновить привилегии:
mysql> update user set Password=PASSWORD('новыйпароль') WHERE User='root';
Query OK, 2 rows affected (0.01 sec)
Rows matched: 2 Changed: 2 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> exit
Bye
Пароль root изменен. Теперь необходимо остановить запущенный ранее mysql_safe. Делается это с помощью команды fg:
fg нажимаем ctrl+c.
Теперь запускаем mysql в обычном режиме и проверяем новый пароль:
/etc/init.d/mysql start
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables.
mysql -u root -p
Enter password: (тут вводим пароль который писали в запросе)
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 40703
Server version: 5.1.49-3 (Debian)
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> exit
Bye
Вот и все. Мы успешно заменили пароль рута на новый.