Шифрование пароля php после обновления с MySQL 5.7 до MySQL 8.4 [дубликат]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Шифрование пароля php после обновления с MySQL 5.7 до MySQL 8.4 [дубликат]

Сообщение Anonymous »

В рамках обновления MySQL с 5.7 до 8.4 мой сервер теперь настроен так, что каждый определенный вход пользователя будет запрашивать шифрование caching_sha2_password. Я не хочу включать mysql_native_passwords в файле конфигурации MySQL, поскольку они удалены в версии 9 базы данных.
Это не тот же вопрос, что и проблемы с плагином аутентификации MySQL в macOS. Этот вопрос касается попытки заставить собственные пароли работать в среде MySQL версии 9, и предлагаемый ответ — вернуться к MySQL версии 8 и включить собственные пароли. Это не то, что мне нужно.
База данных правильно настроена для использования caching_sha2_passwords:

Код: Выделить всё

+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | caching_sha2_password |
+------------------+-----------+-----------------------+
4 rows in set (0.00 sec)
Моя версия PHP — 8.3.12.
Я могу подключиться к базе данных внутри PHPStorm, если соединение с базой данных PHPStorm настроено для SSL.
Моя версия PHP — 8.3.12.
Я могу подключиться к базе данных внутри PHPStorm, если соединение с базой данных PHPStorm настроено для SSL.
Моя версия PHP — 8.3.12.
Я могу подключиться к базе данных внутри PHPStorm, когда соединение с базой данных PHPStorm настроено для SSL.
Моя версия PHP — 8.3.12.
Я могу подключиться к базе данных внутри PHPStorm.
Моя версия PHP — 8.3.12.
Я могу подключиться к базе данных внутри PHPStorm, когда соединение с базой данных PHPStorm настроено для SSL.
р>

Код: Выделить всё

DBMS: MySQL (ver. 8.4.3)
Case sensitivity: plain=lower, delimited=lower
Driver: MySQL Connector/J (ver. mysql-connector-j-8.2.0 (Revision: 06a1f724497fd81c6a659131fda822c9e5085b6c), JDBC4.2)

Ping: 12 ms
SSL: yes
В моем php.ini включены следующие плагины для mysqlnd (собственный драйвер mysql):

Код: Выделить всё

Loaded plugins => mysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password,auth_plugin_caching_sha2_password,auth_plugin_sha256_password
Создание подключения к базе данных с использованием mysqli_connect (например, собственного драйвера) работает нормально.
НО при создании подключения к базе данных PDO выдается следующее исключение:< /p>

Код: Выделить всё

PDOException : SQLSTATE[HY000] [1524] Plugin 'mysql_native_password' is not loaded
В php.ini всего две строки конфигурации для Pdo_mysql:

Код: Выделить всё

pdo_mysql.cache_size = 2000
pdo_mysql.default_socket=
Почему PDO пытается использовать плагин mysql_native_password? Есть ли какая-то дополнительная настройка в php.ini, которую мне нужно сделать, чтобы PDO мог отправлять пароли, зашифрованные с помощью sha2?
Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/792 ... -mysql-8-4
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»