Spec-Zone.ru › MySQL 8.4

8.4.1.1 Встроенная подключаемая аутентификация

MySQL включает плагин mysql_native_password, реализующий встроенную аутентификацию; то есть, аутентификацию, основанную на методе хеширования паролей, используемом до появления подключаемой аутентификации.

Примечание

Плагин аутентификации mysql_native_password устарел начиная с MySQL 8.0.34, по умолчанию отключен в MySQL 8.4 и удален начиная с MySQL 9.0.0.

В следующей таблице показаны имена плагинов на стороне сервера и клиента.

Таблица 8.14 Имена плагинов и библиотек для встроенной аутентификации паролей

Таблица 8.14 Имена плагинов и библиотек для встроенной аутентификации паролей
Плагин или файл Имя плагина или файла
Плагин на стороне сервера mysql_native_password
Плагин на стороне клиента mysql_native_password
Файл библиотеки Нет (плагины встроенные)

В следующих разделах представлена информация об установке и использовании, специфичная для встроенной подключаемой аутентификации:

  • Установка встроенной подключаемой аутентификации

  • Использование встроенной подключаемой аутентификации

  • Отключение встроенной подключаемой аутентификации

Дополнительную информацию об аутентификации с помощью плагинов в MySQL см. в разделе 8.2.17, «Подключаемая аутентификация».

Установка встроенной подключаемой аутентификации

Плагин mysql_native_password существует в серверной и клиентской формах:

  • Плагин на стороне сервера встроен в сервер, но по умолчанию отключен. Чтобы включить его, запустите MySQL Server с --mysql-native-password=ON или включив mysql_native_password=ON в разделе [mysqld] файла конфигурации MySQL.

  • Плагин на стороне клиента встроен в клиентскую библиотеку libmysqlclient и доступен для любой программы, связанной с libmysqlclient.

Использование встроенной подключаемой аутентификации

Программы клиентов MySQL в MySQL 8.4 (и новее) по умолчанию используют caching_sha2_password для аутентификации. Используйте параметр --default-auth для установки mysql_native_password в качестве плагина аутентификации по умолчанию для клиента, если это необходимо, как показано ниже:

$> mysql --default-auth=mysql_native_password ...
Отключение встроенной подключаемой аутентификации

В MySQL 8.4 плагин mysql_native_password на стороне сервера отключен по умолчанию. Чтобы сохранить его отключенным, убедитесь, что сервер запускается без указания параметра --mysql-native-password. Использование --mysql-native-password=OFF также работает для этой цели, но не является обязательным. Кроме того, не включайте mysql_native_password в файл конфигурации MySQL, чтобы сохранить его отключенным.

Когда плагин отключен, недоступны все операции, зависящие от него. В частности:

  • Определенные учетные записи пользователей, которые выполняют аутентификацию с помощью mysql_native_password, получают ошибку при попытке подключения.

    $> MYSQL -u userx -p
    ERROR 1045 (28000): Access denied for user 'userx'@'localhost' (using password: NO)
    

    Сервер записывает эти ошибки в журнал сервера.

  • Попытки создания новой учетной записи пользователя или изменения существующей учетной записи пользователя, идентифицированной с помощью mysql_native_password, также завершаются ошибкой.

    mysql> CREATE USER userxx@localhost IDENTIFIED WITH 'mysql_native_password';
    ERROR 1524 (HY000): Plugin 'mysql_native_password' is not loaded
    mysql> ALTER USER userxy@localhost IDENTIFIED WITH 'mysql_native_password';
    ERROR 1524 (HY000): Plugin 'mysql_native_password' is not loaded
    

Инструкции по включению плагина см. в разделе Установка встроенной подключаемой аутентификации.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/native-pluggable-authentication.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API