Давно забыл пароль пользователя root на одном из своих ящиков. Есть ли способ изменить его, не входя в систему, или мне придется переустанавливать?






Быстрый поиск в Google привел к такому ответу. В корневой оболочке введите:
mysqladmin -u root password <password>
Хорошо иметь ответ здесь, даже если его можно найти в Google. Это помогает Stack Overflow стать более полным хранилищем программных ответов, поэтому я собираюсь изменить этот вопрос.
Это не очень безопасное решение, так как пароль теперь является частью вашей истории.
Шаг 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
Если вы используете сервер Ubuntu (возможно, также Debian?), Вы можете легко выполнить сброс.
Если вы 12.04:
sudo dpkg-reconfigure mysql-server-5.5
Если вы находитесь на 10.04:
sudo dpkg-reconfigure mysql-server-5.1
Если вы не уверены, какая версия mysql-сервера установлена, вы можете попробовать:
dpkg --get-selections | grep mysql-server
См. Дополнительную информацию:
https://help.ubuntu.com/12.04/serverguide/mysql.htmlhttps://help.ubuntu.com/10.04/serverguide/mysql.html
Это может помочь "Восстановить пароль root MySQL".