У меня проблема при использовании модуля python mysql.connector в скрипте.Когда я запускаю, чтобы подключиться к Docker-контейнеру под управлением mysql v8 из моего скрипта, он пытается подключиться к неправильному IP-адресу.Ниже приведен пример функции:
import mysql.connector
def connect():
db = mysql.connector.connect(
host="172.17.0.2",
user="user",
passwd="password",
auth_plugin='mysql_native_password')
При запуске запускается следующая ошибка: mysql.connector.errors.ProgrammingError: 1045 (28000): доступ запрещен для пользователя 'user'@'172.17.0,1 '(используя пароль: ДА)
Вот IP-адрес контейнера подключения, к которому я пытаюсь подключиться
IP-адрес ":" 172.17.0.2 "
Чтодействительно интересным является то, что я могу нормально подключиться к базе данных с помощью mysql.connector при использовании в интерактивном сеансе Python. См. ниже
Python 3.7.2 (default, Jan 16 2019, 19:49:22)
[GCC 8.2.1 20181215 (Red Hat 8.2.1-6)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import mysql.connector
>>> db = mysql.connector.connect(
... host="172.17.0.2",
... user="user",
... passwd="passwd",
... auth_plugin='mysql_native_password')
>>> mycursor = db.cursor()
>>> mycursor.execute("show databases")
>>> for x in mycursor: print(x)
...
('food',)
('information_schema',)
Вот версия MySQL-коннектора, которую я используюна Fedora 29
pip list |grep mysql-connector
mysql-connector-python 8.0.15
Здесь также есть информация о версии докера
Client:
Version: 18.09.2
API version: 1.39
Go version: go1.10.6
Git commit: 6247962
Built: Sun Feb 10 04:13:54 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.2
API version: 1.39 (minimum version 1.12)
Go version: go1.10.6
Git commit: 6247962
Built: Sun Feb 10 03:47:25 2019
OS/Arch: linux/amd64
Experimental: false
Есть мысли о том, что может вызвать сбой при запуске этого скрипта?