На днях понадобился запуск когда-то установленного сервера MySQL на моём компьютере. Я использую при разработке чаще всего sqlite3, который неприхотлив в ресурсах и практически не требует обслуживания во время программирования. Но на этот раз снова понадобился сервер MySQL. Оказалось, что пароль не записал и со временем забыл. Сносить базу и переинсталлировать её заново не особо хотелось. Поэтому решил просто сбросить пароль администратора – пользователя root
Для этого я сначала остановил сервис (daemon process) сервера. На MAC OS X это делается легко с панели настроек в разделе MySQL. Можно и по-старинке просто грохнуть:
Для Linux:
ps afx | grep mysql
дает, к примеру:
/bin/sh ./bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/development.pid
(На MAC OS X нужно писать опции к команде ps без минуса!)
Далее:
sudo kill `sudo cat /usr/local/mysql/data/development.pid`
Ещё раз
ps afx | grep mysql
чтобы убедиться, что с сервисом покончено.
Далее я запустил MySQL снова, но в фоновом режиме и без проверки пользовательских прав:
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
Затем зашел с кансоли:
mysql -u root mysql
и поменял пароль:
UPDATE user SET Password=PASSWORD("мой-новый-пароль") WHERE User="root"; FLUSH PRIVILEGES;
Потом вывел процесс на консоль и с помощью Ctrl+C его остановил:
fg 1
После запуска сервера MySQL в обычном режиме я снова получил полный доступ к его ресурсам.
спасибо огромное!Добра тебе!