mysql python cached_sha2 не работает под conda - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть тривиальная программа (ниже), которая запускается под venv с помощью pip для загрузки модулей mysql и mysql -connector- python, но не работает, когда я создаю среду с conda.

Сообщение об ошибке:

mysql.connector.errors.DatabaseError: 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/Users/Wes/opt/miniconda3/envs/ty_db_conda/lib/plugin/caching_sha2_password.so, 2): image not found

Конечно, caching_sha2_password.so не находится в каталоге среды conda.

Так как он работает под venv, я изначально предполагал, что проблема была в упаковке conda, но я нигде не могу найти caching_sha2_password.so на моей маме c. В частности, он не находится в / usr / local / mysql / lib / plugin, который является каталогом плагинов, установленным установщиком Oracle MySQL. Аналогично, команда командной строки find не находит этот файл нигде во всей системе.

Я прочитал многочисленные сообщения о stackoverflow и в других местах о том, как обойти это сообщение об ошибке, используя менее безопасную схему аутентификации, но Я надеюсь избежать этого.

Итак, мои вопросы таковы:

Должен ли caching_sha2 работать без плагина caching_sha2_password.so? Если да, то как мне заставить его работать в среде conda?

Как это работает под venv? Кажется, что плагин должен быть где-то. Я проверил подкаталог venv, который я создал для этого проекта, и там нет .so файлов или ссылок на .so файлы.

Где я могу получить копию caching_sha2_password.so для размещения по крайней мере в среде conda проверить?

Вот программа

import mysql.connector as dbase


test_dbconfig = {
    "user": "ETP",
    "password": "Hetp2020",
    "database": "HETPtesting",
    "auth_plugin": 'caching_sha2_password'
}


cnx = dbase.connect(**test_dbconfig)

Вот команда, которую я использовал для создания conda env

conda create --name ty_db_conda mysql mysql-connector-python

Здесь это команды, которые я использовал для создания работающего venv.

python3 -m venv ./try_db_venv
source ./try_db_venv/bin/activate
pip install mysql
pip install mysql.connector.python
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...