Смена пароля root в MySQL - PullRequest
       79

Смена пароля root в MySQL

48 голосов
/ 23 сентября 2011

Я пытался сбросить мой корневой пароль MySQL. Я запустил mysqld_safe --skip-grant-tables, обновил пароль root и проверил пользовательскую таблицу, чтобы убедиться, что она там есть. После перезапуска демона mysql я попытался войти в систему с новым паролем root, который я только что установил, и по-прежнему получаю доступ в доступе из-за ошибок пользователя root. Я также попытался полностью удалить и переустановить mysql (включая удаление файла my.cnf), но все равно не повезло. У кого-нибудь есть предложения по поводу того, что я могу делать дальше?

Заранее спасибо

Ответы [ 19 ]

1 голос
/ 30 мая 2019

Для текущей последней версии mysql (8.0.16) ни один из этих ответов не сработал для меня.

Посмотрев несколько разных ответов и объединив их вместе, я использовал то, что сработало:

update user set authentication_string='test' where user='root';

Надеюсь, это поможет.

1 голос
/ 01 декабря 2018

Использование утилиты командной строки mysqladmin для изменения пароля MySQL:

mysqladmin --user=root --password=oldpassword password "newpassword"

Источник

1 голос
/ 04 ноября 2018

Для MySQL 5.7.6 и более поздних версий:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

Для MySQL 5.7.5 и более ранних версий:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
0 голосов
/ 15 июля 2015

остановить все службы Wamp, выйти из Wamp.

открыть блокнот и набрать> УСТАНОВИТЬ ПАРОЛЬ ДЛЯ 'root' @ 'localhost' = ПАРОЛЬ ('');

затем сохраните его на диске c: с любым именем .. например, "c: /example.txt"

теперь зайдите в свой "wamp" фалдер wamp> bin> mysql> mysql (ваша версия)> bin в моем случае путь "C: \ wamp \ bin \ mysql \ mysql5.6.17 \ bin"

Теперь скопируйте ваш путь, затем запустите cmd с помощью (ctrl + r), затем введите "cmd" (введите)

введите cd, затем щелкните правой кнопкой мыши на cmd и вставьте путь (введите) теперь введите (mysqld --init-file = C: \ example.txt) без фигурных скобок затем (введите)

затем перезагрузите компьютер или откройте taskmgr и убейте mysqld.exe

запустите wamp и ваш пароль будет удален ...

0 голосов
/ 11 марта 2019

Пробовал ответ от @kta, но у меня не получилось.

Я использую MySQL 8.0

Это сработало для меня:

mysql> SET PASSWORD FOR 'root'@'localhost' = 'yourpassword'

0 голосов
/ 26 сентября 2016

в Ubuntu,

sudo dpkg-reconfigure mysql-server-5.5 

Замените 5.5 текущей версией, и вам будет предложено ввести новый пароль root.

0 голосов
/ 11 июня 2019

Так много комментариев, но мне помог этот метод:

sudo mysqladmin -u root password 'my password'

В моем случае после установки я получил службу mysql без пароля для пользователя root, и мне нужно было установить пароль для моей безопасности.

0 голосов
/ 07 июля 2019

В MySQL 8.0.4 +

Чтобы обновить текущего пользователя root:

выберите current_user ();
set password = 'new_password';

Чтобы обновить другого пользователя:

установить пароль для 'otherUser' @ 'localhost' = 'new_password';

Чтобы установить политику паролей перед обновлением пароля:

установить глобальный validate_password.policy = 0;
установить пароль = 'новый_пароль';
установить пароль для «otherUser» @ «localhost» = «новый_пароль»;

Другой / лучший способ обновить пароль root:

mysql_secure_installation



Хотите придерживаться аутентификации 5.x, чтобы вы все еще могли использовать устаревшие приложения?

На my.cnf

default_authentication_plugin = mysql_native_password

Для обновления root:

установить глобальный validate_password.policy = 0;
изменить пользователя 'root' @ 'localhost', идентифицированного как mysql_native_password 'new_password';

0 голосов
/ 20 апреля 2017

Для пользователей MacOS, если вы забыли свой пароль пользователя root, ответ @ Таким образом, ответ (https://stackoverflow.com/a/28601069/5628856) хорош, но есть еще несколько хитростей:

Если вы используете системную настройку для запуска mysqlна сервере, просто

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

, чтобы проверить свои собственные.

...