ОШИБКА 1045 (28000): доступ запрещен для пользователя 'root'@'localhost' (используется пароль: ДА)
Я знаю, что некоторые пользователи могут сказать, что это дублирование, но серьезно я прочесал ответы и ответы в Интернете более половины дня, и я так расстроен, что собираюсь взорваться.
Теперь, когда терапевтическое объяснение закончено, я установил MySql Server и MariaDb 10 из репозиториев Ubuntu на Ubuntu 12.04 LTS и ввел пароль root при его установке [Когда появляется розовый экран и запрашивает пароль root], и установка проходит через гладко, как нож сквозь масло.
Теперь настоящее разочарование начинается в любом из следующих двух сценариев:
- Когда я ввожу команду sudo /usr/bin/mysql_secure_installation, мне будет предложено ввести пароль root
или же
2.При вводе команды mysql -u root -p мне предлагается ввести пароль.
Пожалуйста, мне действительно нужна помощь в этом - я потерял счет, сколько раз мне приходилось удалять и переустанавливать MySQL или MariaDb, потому что эта боль в шее приводит к ошибке.
4 ответа
Я думаю, что, возможно, понял проблему - это связано с длинным паролем. Я думаю, что об этом следует сообщать разработчикам MySQl и MariaDB как об ошибке, потому что при установке вы можете создать пароль длиной более 100 символов, но при попытке войдите в MySQl или MariaDB, когда он находится в производстве, вы получите вышеуказанную ошибку.
Я так рада, что поняла это после такой большой боли - действительно удивительно, что это не было идентифицировано как ошибка, учитывая, сколько лет MySQL был в производстве.
Таким образом, в основном одно решение состоит в том, чтобы пройти следующие шаги, чтобы решить вышеупомянутую проблему:
Начните с пустого пароля на непроизводственном сервере, и если он работает
Если вы успешно выполнили шаг 1, перейдите к обеспечению безопасности установки MySQL, введя следующую команду: sudo / usr / bin / mysql_secure_installation и попробуйте ввести более сложный пароль - сочетание строчных букв, цифр, символов и заглавных букв не менее 8 символы должны быть в порядке.
Я рекомендую начинать с 8 и двигаться вверх, пока не достигнете потолка с количеством символов, которое вы можете ввести.
Вышесказанное должно стать шагом в правильном направлении для обеспечения безопасности вашего сервера MySQL.
Проверьте файл: /etc/mysql/mariadb.conf.d/mysqld.cnf
проверьте, существует ли эта строка:
plugin-load-add = auth_socket.so
затем перейдите к MariaDB:
sudo mysql -u root
и сделайте эти модификации:
MariaDB [(none)]>use mysql;
MariaDB [(none)]>update user set plugin=' ' where User='root';
MariaDB [(none)]>flush privileges;
MariaDB [(none)]>exit
У меня не было доступа к mysqlworkbench
, но после того, как я применил это решение, все хорошо руан...
Попробуйте эту команду в терминале:
mysqladmin -u root -pcurrentpassword password 'newpassword'
Затем введите:
mysql -u root -pnewpassword
Лучший ответ здесь
Это объясняет, что происходит. Это объясняет, почему вы не должны просто отключить плагин. Он объясняет, как обойти это (войти с помощью sudo, создать новую учетную запись суперпользователя, которая не является root).
Обратите внимание, что это решение David Leonardo не переживает перезагрузку.