Вопрос или проблема
Я только что установил свежую версию mysql-server-5.7 на Linux Mint 19.1. Мне не предложили установить пароль для пользователя root во время установки, и когда я пытался использовать mysql через команду mysql -u root -p
, я получал следующую ошибку => Access denied for user 'root'@'localhost'
.
Я пос искал на Stack Overflow и нашел ответ, который заключался в том, чтобы установить плагин аутентификации на mysql_native_password
. Запрос выглядел примерно так…
UPDATE user SET plugin="mysql_native_password";
Однако по какой-то причине я ввел команду вручную вместо того, чтобы скопировать её, и, кажется, написал mysql-native-password
вместо mysql_native_password
(дурак я!!!)
Теперь я пытался получить доступ к оболочке mysql разными способами, но всегда получал следующую ошибку!
ERROR 1524 (HY000): Plugin 'mysql-native-password' is not loaded
Я пробовал…
$sudo mysql -u root
$sudo mysql
$mysql -u root -p
$mysql_upgrade ...
$sudo mysql_secure_installation
Но всё возвращало ту же ошибку.
Недавно я столкнулся с той же проблемой, но с mysql 8.4. Поэтому решение согласно документации MySQL документации таково
Запустите сервер с –mysql-native-password=ON (добавлено в MySQL 8.4.0), или включите mysql_native_password=ON в секции [mysqld] вашего конфигурационного файла MySQL
Привет, я был в такой же ситуации – мне удалось решить проблему, полностью удалив mySQL и запустив свежую установку. Я использовал следующие команды для удаления:
sudo -i
service mysql stop
killall -KILL mysql mysqld_safe mysqld
apt-get --yes purge mysql-server mysql-client
apt-get --yes autoremove --purge
apt-get autoclean
deluser --remove-home mysql
delgroup mysql
rm -rf /etc/apparmor.d/abstractions/mysql /etc/apparmor.d/cache/usr.sbin.mysqld /etc/mysql /var/lib/mysql /var/log/mysql* /var/log/upstart/mysql.log* /var/run/mysqld
updatedb
exit
Затем выполните свежую установку согласно требованиям вашей операционной системы (в моем случае Ubuntu):
sudo apt update
sudo apt install mysql-server
Эй, у меня была такая же проблема в версии mysql 8.4.3. Так что решение таково…
- brew services stop mysql
- nano /opt//homebrew/etc/my.cnf
- под [mysqld] напишите следующую команду
- mysql_native_password=ON
- source ~/.zshrc
- brew services start mysql
Источник :- https://php.watch/articles/fix-php-mysql-84-mysql_native_password-not-loaded
Ответ или решение
Ошибка MySQL: ERROR 1524 (HY000): Plugin ‘mysql-native-password’ is not loaded — распространенная проблема, с которой могут столкнуться пользователи MySQL, особенно после некорректного изменения настройки аутентификации. Этот ответ даст вам понимание причин возникновения данной ошибки и предложит несколько способов её решения.
Причины возникновения ошибки
-
Неправильное имя плагина аутентификации: Ваша проблема началась с того, что вместо
mysql_native_password
вы ввелиmysql-native-password
. Поскольку MySQL не может загрузить плагин с таким именем, вы и получаете ошибку 1524. -
Неудачная попытка смены способа аутентификации: Данные изменения были частью попытки установить доступ к серверу MySQL под учетной записью root.
-
Отсутствие установленного плагина: Если в системе отсутствует необходимый плагин или он не загружается, это также приведет к ошибкам при подключении.
Основные методы решения проблемы
1. Переустановка MySQL
Один из самых простых способов решить проблему — это полное удаление и новая установка MySQL. Если вы решили применить этот метод, выполните следующие шаги:
sudo service mysql stop
sudo killall -KILL mysql mysqld_safe mysqld
sudo apt-get --yes purge mysql-server mysql-client
sudo apt-get --yes autoremove --purge
sudo apt-get autoclean
sudo deluser --remove-home mysql
sudo delgroup mysql
sudo rm -rf /etc/apparmor.d/abstractions/mysql /etc/apparmor.d/cache/usr.sbin.mysqld /etc/mysql /var/lib/mysql /var/log/mysql* /var/log/upstart/mysql.log* /var/run/mysqld
После этого выполните переустановку MySQL:
sudo apt update
sudo apt install mysql-server
2. Изменение конфигурационного файла
Если вы не хотите переустанавливать MySQL, вы можете внести изменения в конфигурационный файл. Попробуйте следующее:
- Откройте конфигурационный файл MySQL, например:
sudo nano /etc/mysql/my.cnf
- В разделе
[mysqld]
добавьте строку:
plugin-dir=/usr/lib/mysql/plugin
- Затем добавьте:
mysql_native_password=ON
После внесения изменений перезапустите MySQL:
sudo service mysql restart
3. Использование безопасного режима
Запустите MySQL в безопасном режиме (safe mode):
sudo mysqld_safe --skip-grant-tables &
Обратите внимание: этот режим отключает проверку учетных записей, поэтому используйте его только для восстановления доступа.
После этого попробуйте изменить плагин аутентификации для root:
UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE User = 'root';
FLUSH PRIVILEGES;
Перезагрузите MySQL:
sudo service mysql restart
Заключение
Ошибка ERROR 1524 (HY000) — это следствие неправильных настроек конфигурации. Вы можете выбрать один из предложенных способов решения: полная переустановка MySQL или изменение конфигурации. Помните, важно соблюдать осторожность при редактировании системных файлов. Неправильные изменения могут привести к дополнительным проблемам с доступом.
Если ни один из этих методов не помог, рекомендуется обратиться к официальной документации MySQL или на специализированные форумы, где профессионалы смогут помочь вам в решении вашей проблемы.