Почему я получаю ошибку при подключении к базе данных?

#mysql #python-3.x #flask #sqlalchemy #flask-sqlalchemy

Вопрос:

Я использую колбу и колбу-SQLAlchemy. Я получаю следующую ошибку при запросе базы данных .

Ошибка! Подробности — (pymysql.err.OperationalError) (2003, «Не удается подключиться к серверу MySQL на ‘1812@127.0.0.1’ ([Errno -2] Имя или услуга неизвестны)») (Предыстория этой ошибки по адресу: https://sqlalche.me/e/14/e3q8)

Строка, которая генерирует ошибку, является

 session = DB.session
result = cls.get_integrations(session, integration_details).first()
 

При вызове first() в cls.get_integrations(сеанс, integration_details) возникает ошибка .

Журнал ошибок выглядит следующим образом :

 {"asset":"localhost:5000", "description":"Traceback (most recent call last):
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/pymysql/connections.py", line 613, in connect
    sock = socket.create_connection(
  File "/usr/lib/python3.8/socket.py", line 787, in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
  File "/usr/lib/python3.8/socket.py", line 918, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 3240, in _wrap_pool_connect
    return fn()
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 310, in connect
    return _ConnectionFairy._checkout(self)
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 868, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 476, in checkout
    rec = pool._do_get()
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/pool/impl.py", line 146, in _do_get
    self._dec_overflow()
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__
    compat.raise_(
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/pool/impl.py", line 143, in _do_get
    return self._create_connection()
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 256, in _create_connection
    return _ConnectionRecord(self)
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 371, in __init__
    self.__connect()
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 666, in __connect
    pool.logger.debug("Error on connect(): %s", e)
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__
    compat.raise_(
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 661, in __connect
    self.dbapi_connection = connection = pool._invoke_creator(self)
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/engine/create.py", line 590, in connect
    return dialect.connect(*cargs, **cparams)
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 584, in connect
    return self.dbapi.connect(*cargs, **cparams)
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/pymysql/connections.py", line 353, in __init__
    self.connect()
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/pymysql/connections.py", line 664, in connect
    raise exc
pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on '1812@127.0.0.1' ([Errno -2] Name or service not known)")

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/vishal/Desktop/tribes/extract-data-python-3/routes/vendor_specific/xero/xero_routes.py", line 55, in get_contacts_list
    return contacts_syncer.get_contacts_list()
  File "/home/vishal/Desktop/tribes/extract-data-python-3/data_pullers/xero/xero/contacts_syncer.py", line 44, in get_contacts_list
    integration_details = cache_helpers.get_integration_details(integration_id)
  File "/home/vishal/Desktop/tribes/extract-data-python-3/helpers/cache_helpers.py", line 157, in get_integration_details
    integration_db = IntegrationModel.get_integration(integration_id)
  File "/home/vishal/Desktop/tribes/extract-data-python-3/model/sqlalchemy/platform_integration_model.py", line 106, in get_integration
    result = cls.get_integrations(session, integration_details).first()
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 2762, in first
    return self.limit(1)._iter().first()
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 2846, in _iter
    result = self.session.execute(
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/orm/session.py", line 1688, in execute
    conn = self._connection_for_bind(bind)
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/orm/session.py", line 1529, in _connection_for_bind
    return self._transaction._connection_for_bind(
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/orm/session.py", line 747, in _connection_for_bind
    conn = bind.connect()
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 3194, in connect
    return self._connection_cls(self, close_with_result=close_with_result)
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 96, in __init__
    else engine.raw_connection()
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 3273, in raw_connection
    return self._wrap_pool_connect(self.pool.connect, _connection)
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 3243, in _wrap_pool_connect
    Connection._handle_dbapi_exception_noconnection(
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 2097, in _handle_dbapi_exception_noconnection
    util.raise_(
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 3240, in _wrap_pool_connect
    return fn()
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 310, in connect
    return _ConnectionFairy._checkout(self)
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 868, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 476, in checkout
    rec = pool._do_get()
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/pool/impl.py", line 146, in _do_get
    self._dec_overflow()
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__
    compat.raise_(
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/pool/impl.py", line 143, in _do_get
    return self._create_connection()
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 256, in _create_connection
    return _ConnectionRecord(self)
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 371, in __init__
    self.__connect()
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 666, in __connect
    pool.logger.debug("Error on connect(): %s", e)
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__
    compat.raise_(
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 661, in __connect
    self.dbapi_connection = connection = pool._invoke_creator(self)
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/engine/create.py", line 590, in connect
    return dialect.connect(*cargs, **cparams)
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 584, in connect
    return self.dbapi.connect(*cargs, **cparams)
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/pymysql/connections.py", line 353, in __init__
    self.connect()
  File "/home/vishal/Desktop/tribes/extract-data-python-3/venv/lib/python3.8/site-packages/pymysql/connections.py", line 664, in connect
    raise exc
sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2003, "Can't connect to MySQL server on '1812@127.0.0.1' ([Errno -2] Name or service not known)")
(Background on this error at: https://sqlalche.me/e/14/e3q8)
 

Почему я получаю эту ошибку . Может кто-нибудь, пожалуйста, помочь ? Спасибо.

Комментарии:

1. Это кажется очевидным из сообщения об ошибке. Проверьте настройки подключения, такие как хост и/или порт.

2. Включает ли ваш URI подключения пароль, содержащий @ символ?

3. Да , вот тут-то все и пошло не так . Я использовал quote (), чтобы решить эту проблему . Кстати, спасибо .