Не удается подключиться к MySQL Docker DatabaseError: 1130 - PullRequest
0 голосов
/ 20 сентября 2019

Я установил докер mysql/mysql-server:5.7 и создал контейнер со следующей командой на моем Ubuntu 18.04:

docker run -t -i -v /etc/localtime:/etc/localtime:ro -h 172.17.0.50 -p 50001:3306 --name=testmysql_dock -d mysql/mysql-server:5.7

Я создал нового пользователя с помощью следующей команды:

CREATE USER 'connector'@'localhost' IDENTIFIED BY 'connector';

Предоставляя ему следующие привилегии:

GRANT SELECT,INSERT,UPDATE,CREATE,DROP ON `db_%`.* TO 'connector'@'localhost';

При подключении к базе данных mysql через mysql-connector-python я использовал следующую команду:

conn = mysql.connector.connect(port=50001,user='connector',password='connector')

Но я получаю следующую ошибку:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3/dist-packages/mysql/connector/__init__.py", line 179, in connect
    return MySQLConnection(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/mysql/connector/connection.py", line 94, in __init__
    self.connect(**kwargs)
  File "/usr/lib/python3/dist-packages/mysql/connector/abstracts.py", line 722, in connect
    self._open_connection()
  File "/usr/lib/python3/dist-packages/mysql/connector/connection.py", line 208, in _open_connection
    self._do_handshake()
  File "/usr/lib/python3/dist-packages/mysql/connector/connection.py", line 100, in _do_handshake
    raise errors.get_exception(packet)
mysql.connector.errors.DatabaseError: 1130: Host '172.17.0.1' is not allowed to connect to this MySQL server

Я не хочу создавать пользователя с хостом как "%" по соображениям безопасности.

Есть ли способ привязать статический IP-адрес к докеру или наоборот?this?

Я могу успешно подключиться к базе данных, если создаю пользователя с запросом: CREATE USER 'connector'@'%' IDENTIFIED BY 'connector';

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...