python - 通过 Python 连接远程 MySQL

标签 python mysql database server

我在远程服务器上安装了 MySQL。我还通过 SSH 创建了一些数据库,其中包含一些表。

我创建了以下用户:

CREATE USER 'myname'@'localhost' IDENTIFIED BY 'mypassword';
CREATE USER 'remotMe'@'myIP' IDENTIFIED BY 'mypassword';

GRANT PRIVILEGES * . * TO 'myname'@'localhost';
GRANT PRIVILEGES * . * TO 'remoteMe'@'myIP';

现在,我想通过 Python 连接到这个 MySQL 服务器。我已经安装了PyMySQL .我正在尝试以下代码:

import pymysql
conn = pymysql.connect(host='ServerIP', port=3306, user='remoteMe', passwd='mypassword', db='myDB') 

但这给了我一个connection refused错误。我是否需要配置其他东西才能使其正常工作?

最佳答案

MySQL 很可能绑定(bind)到本地主机。假设您使用的是 Linux 机器:

在你的远程机器上,编辑/etc/mysql/my.cnf

找到 bind-address=127.0.0.1,将其编辑为 bind-address=0.0.0.0,或者直接删除该行。

重启MySQL

阅读更多:http://dev.mysql.com/doc/refman/5.1/en/server-options.html#option_mysqld_bind-address

关于python - 通过 Python 连接远程 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28851765/

相关文章:

python - 如何防止模块代码从 python 中导入的模块执行?

python - Python 的 SignalR 替代方案

python - 通过连接传递额外的参数

php - 特定搜索查询出错

mysql - 优化数据库查询的使用

python - 如何将 pandas DataFrame 转换为 json 用于 django 模型?

mysql - 员工详细信息及其工作类型

php - 从日期时间 PHP 转换字符串

mysql 查询速度很慢,有什么建议如何优化吗?

sql - 棘手的 SQL SELECT 语句