MySQL изменение пароля root
Я пытался сбросить пароль root MySQL. Я запустил mysqld_safe --skip-grant-tables, обновил пароль root и проверил таблицу пользователя, чтобы убедиться, что она есть. После перезапуска демона mysql я попытался войти в систему с новым паролем root, который я только что установил, и все еще получаю отказ в доступе для ошибок пользователя "root". Я также попытался полностью удалить и переустановить mysql(включая удаление my.cnf file) и все равно не повезло. У кого-нибудь есть предложения по что я могу сделать дальше?
спасибо заранее
11 ответов
hava посмотрите на это из справочного руководства MySQL:
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
FLUSH PRIVILEGES;
смотрите эту страницу для получения дополнительной информации: сброс пароля Root: Unix Systems
нашли его! Я забыл хэшировать пароль, когда менял его. Я использовал этот запрос для решения своей проблемы:
update user set password=PASSWORD('NEW PASSWORD') where user='root';
забыл PASSWORD('NEW PASSWORD')
и просто введите новый пароль в виде обычного текста
вы должны сбросить пароль! шаги для mac osx (протестировано и работает) и ubuntu
Остановить MySQL
$ sudo /usr/local/mysql/support-files/mysql.server stop
запустить его в безопасном режиме:
$ sudo mysqld_safe --skip-grant-tables
(над строкой вся команда)
это будет текущая команда, пока процесс не будет завершен, поэтому откройте другое окно оболочки / терминала, войдите в систему без пароля:
$ mysql -u root
mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';
Запустить MySQL
sudo /usr/local/mysql/support-files/mysql.server start
новый пароль "пароль".
это обновленный ответ для WAMP v3.0.6 и вверх!--2-->
> UPDATE mysql.user
> SET authentication_string=PASSWORD('MyNewPass')
> WHERE user='root';
>FLUSH PRIVILEGES;
в MySQL версии 5.7.x в таблице mysql больше нет поля пароля. Он был заменен на authentication_string.
распространенная ошибка, с которой я сталкиваюсь время от времени, заключается в том, что я забываю -p
опция, так что вы уверены, что вы использовали:
mysql -u root -p
пожалуйста, выполните следующие действия.
step1. остановить mysql
step2. sudo mysqld_safe --skip-grant-tables
step3.mysql -u root
step4.use mysql;
step5.show tables;
step6.describe user;
Шаг 7.update user set authentication_string=password('1111') where user='root';
войти с паролем 1111
остановить все службы wamp, выйти из wamp.
откройте блокнот введите> Установить пароль для 'root' @ 'localhost' = PASSWORD (");
затем сохраните его на диске c: с любым именем .. такой "c:/example.txt"
теперь перейти к вашей "ПУВР" falder ПУВР > Бин > в mysql > mysql базы(ваша версия) > ОГРН в моем случае путь - это "C:\wamp\bin\mysql\mysql5.6.17\bin"
теперь скопируйте свой путь, затем запустите cmd с помощью (ctrl + r), затем введите "cmd" (enter)
введите cd тогда щелкните правой кнопкой мыши cmd и вставьте путь (введите) теперь введите (mysqld --init-file=C:\example.txt) без скобок тогда (enter)
затем перезагрузите ПК или откройте taskmgr и убейте mysqld.exe
запустите wamp, и ваш пароль будет удален...
sudo dpkg-reconfigure mysql-server-5.5
замените 5.5 на текущую версию, и вам будет предложено ввести новый пароль root.
для пользователей MacOS, Если вы забыли свой пароль root, ответ @thusharaK (https://stackoverflow.com/a/28601069/5628856) хорошо, но есть еще несколько трюков:
Если вы используете Системные настройки для запуска MySQL serverside, просто
sudo mysqld_safe --skip-grant-tables
может не работать для вас.
вы должны убедиться, что аргументы командной строки совпадают с конфигурацией запуска системы.
следующая команда работает для я:
/usr/local/mysql/bin/mysqld --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid --keyring-file-data=/usr/local/mysql/keyring/keyring --early-plugin-load=keyring_file=keyring_file.so --skip-grant-tables
можно использовать
ps aux | grep mysql
чтобы проверить свое собственное.
в MySQL 5.7 пароль заменяется на 'authentication_string'.
использовать
update user set authentication_string=password('myfavpassword') where user='root';