Python sqlalchemy连接在不同计算机上运行时拒绝相同凭据

Python sqlalchemy连接在不同计算机上运行时拒绝相同凭据,python,mysql,linux,windows,sqlalchemy,Python,Mysql,Linux,Windows,Sqlalchemy,我有一个对我来说似乎不可能的问题,这意味着我基本上误解了一些事情。我使用flask(一个python库)编写了一个简单的API。除其他外,此api连接到在远程web服务器上运行的mysql服务器。我正在使用sqlalchemy库来执行此连接 连接字符串非常简单。看起来是这样的: db =create_engine('mysql+mysqlconnector://{user}:{password}@{host}:{port}/{database}'.format(user=Constant

我有一个对我来说似乎不可能的问题,这意味着我基本上误解了一些事情。我使用flask(一个python库)编写了一个简单的API。除其他外,此api连接到在远程web服务器上运行的mysql服务器。我正在使用sqlalchemy库来执行此连接

连接字符串非常简单。看起来是这样的:

    db =create_engine('mysql+mysqlconnector://{user}:{password}@{host}:{port}/{database}'.format(user=Constants.Sql.USER, password=Constants.Sql.PASS, host=Constants.Sql.HOST, port=Constants.Sql.PORT, database=Constants.Sql.DATABASE))
    connection = db.connect()
在我的开发机器上,这一切都很好。但是,当我将api部署到另一台远程机器上时,它不起作用。我得到一个错误:

sqlalchemy.exc.ProgrammingError: (ProgrammingError) 1045 (28000): Access denied for user 'user'@'domain' (using password: YES) None None
这对我来说没有任何意义,因为它使用完全相同的凭据(它们是硬编码的)

工作环境是windows机器,抛出错误的环境是ubuntu 14.04。windows和ubuntu机器都离运行数据库的web服务器很远,所以它不可能是什么奇怪的本地主机


我完全被这件事难住了。如果有人能给我一些建议,我将非常感激

数据库可能只接受来自特定IP地址的连接。这就解释了为什么相同的用户名和密码会在其中一个上成功,而在另一个上失败

授权包括IP地址信息: