Боролся с перезагрузкой root
пароль для MySQL на Amazon Linux, размещенный на EC2. Версия:
mysql Ver 14.14 Distrib 5.5.42, для Linux (x86_64) с использованием readline 5.1
При установке я решил, что будет разумно сменить пароль root на что-нибудь безопасное! Ура! Безопасность! За исключением того, что он не позволит мне войти с этим паролем сейчас, поэтому я пытаюсь сбросить его.
Я последовал за инструкции здесь , но это не работает. Я думал, что это могут быть разрешения на файл инициализации, но они установлены в rwxrwxrwt
так наверное нет, а может быть? Даже не уверен, какие файлы журналов нужно проверить, чтобы увидеть, где идет ошибка.
Итак, как я могу успешно сбросить пароль MySQL на EC2 Amazon Linux? Связан ли набор инструкций с предполагаемым, или Amazon делает что-то по-другому?
Также я спросил это на ServerFault , но не было «ясно», о чем я спрашивал. Я бы сказал, что это тоже не по теме, но ...
источник
Ответы:
В Amazon Linux, размещенном на экземпляре EC2, нет ничего волшебного. Причина, по которой все используют какой-то вариант Linux, заключается в том, что Linux - это Linux.
Тем не менее, это, как я сбрасываю MySQL
root
пароли на серверах Ubuntu, если я столкнусь с такими проблемами. Общие концепции должны работать для любой версии Linux с небольшими изменениями, чтобы справиться со спецификой.Во-первых, я бы остановил MySQL вот так; это команда, которую я бы использовал в Ubuntu:
Сделав это, запустите MySQL снова вручную с
--skip-grant-tables
вариант; это считается рискованным для некоторых сред, поскольку в основном запускает MySQL со всеми разрешениями / разрешениями, предоставленными всем в мире. Но это то, что вам нужно сделать, чтобы исправитьroot
вопрос:В некоторых случаях вам может потребоваться ввести полный путь к
mysqld
или жеmysqld_safe
чтобы это работало так:Теперь, когда MySQL перезапущен с открытыми для него грантами, войдите в систему следующим образом:
Это в основном входит в систему как пользователь
root
в базу данныхmysql
который управляет всеми административными аспектами доступа MySQL.Теперь запустите этот запрос; конечно изменить
YOURNEWPASSWORD
соответствовать новому желаемому паролю, который вы хотите назначитьroot
пользователь:Как вы можете видеть, это составная команда, которая выполняет
UPDATE
, затемFLUSH PRIVILEGES
перезагрузить таблицы грантов MYSQL иexit
чтобы вытащить вас из MySQL.С этим вы все должны быть настроены и
root
должен сбросить пароль, чтобы соответствоватьYOURNEWPASSWORD
Вы изменили это на.источник
Проверка выхода из работы
mysqld_safe
это любезно указывает на то, что/var/log/mysqld
, Известная часть это говорит:Оказывается, что root не может получить доступ к этому местоположению. Переместил файл в
/tmp/mysql-init
и тогда сброс пароля сработал.источник
Я боролся с этим пару часов, и я только что нашел решение.
В моем случае я пытался установить пароль для
root
пользователь. Я видел это, когда я побежалselect * from mysql.user;
пользователь root имел какplugin
Значениеsocket
, Я просто заставил изменения использоватьmysql_native_password
Плагин, выполнив эту команду:ALTER USER 'root'@'localhost' identified with mysql_native_password by 'password_goes_here'
источник