mysql: ОШИБКА 1524 (HY000): Плагин ‘mysql-native-password’ не загружен

Вопрос или проблема

Я только что установил свежую версию 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. Так что решение таково…

  1. brew services stop mysql
  2. nano /opt//homebrew/etc/my.cnf
  3. под [mysqld] напишите следующую команду
  4. mysql_native_password=ON
  5. source ~/.zshrc
  6. 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, особенно после некорректного изменения настройки аутентификации. Этот ответ даст вам понимание причин возникновения данной ошибки и предложит несколько способов её решения.

Причины возникновения ошибки

  1. Неправильное имя плагина аутентификации: Ваша проблема началась с того, что вместо mysql_native_password вы ввели mysql-native-password. Поскольку MySQL не может загрузить плагин с таким именем, вы и получаете ошибку 1524.

  2. Неудачная попытка смены способа аутентификации: Данные изменения были частью попытки установить доступ к серверу MySQL под учетной записью root.

  3. Отсутствие установленного плагина: Если в системе отсутствует необходимый плагин или он не загружается, это также приведет к ошибкам при подключении.

Основные методы решения проблемы

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 или на специализированные форумы, где профессионалы смогут помочь вам в решении вашей проблемы.

Оцените материал
Добавить комментарий

Капча загружается...