SqlAlchemy - 无法建立远程连接,而是连接到(不存在)本地服务器

时间:2016-08-31 15:16:06

标签: python mysql python-3.x sqlalchemy

我有一个很大的问题,最近提出了Python(3.4)SqlAlchemy,项目非常依赖于此。

sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")

之前出现以下错误:

  File "/home/dev/venv/project/lib/python3.4/site-packages/sqlalchemy/util/queue.py", line 145, in get
raise Empty
sqlalchemy.util.queue.Empty

我完全不知道为什么会出现这个问题,而且它变得非常负担。如果我连接SQLLite数据库,它就可以工作。

这里是我用于连接的基本字符串:

mysql:///username:password@redacted:3306/inventory

已移除凭据。

数据库配置从磁盘上的YAML文件加载,并经过验证符合预期。

围绕连接的所有单元测试都已通过,但我只测试了SQLLite。

以下是用于连接&的代码。创建数据库及其元素:

        self.database_config = {
        'SQLALCHEMY_DATABASE_URI': self.config['databases']['source']['url'],
        # 'SQLALCHEMY_BINDS': {
        #     'discard': self.config['databases']['discarded-items']['url']
        # }
    }

    try:
        db.init(config=self.database_config, Model=Model)
        # todo check if db exists
        logger.debug("Database Initialized!")
        db.create_all()
        logger.debug("Database Created")
        return True
    except SQLAlchemyError as ex:
        logger.error(ex)
        logger.info("Application config: {0}\nConfig Location: {1}\nDatabase Config: {2}".format(self.config,
                                                                                                 self.config_location,
                                                                                                 self.database_config))
        raise ex

如果我能得到任何帮助,那就太棒了!它一直很头疼,真的很想解决这个问题!

0 个答案:

没有答案