【发布时间】:2012-06-25 22:30:36
【问题描述】:
我想通过 Python 在我的本地机器和 MySQL 数据库服务器之间建立连接。
谁能告诉我如何“与本地主机绑定地址”?
【问题讨论】:
-
你现在的设置是什么?你试过什么?
-
您是否有可能遇到防火墙问题? stackoverflow.com/questions/5755819/… 发布了类似的问题
我想通过 Python 在我的本地机器和 MySQL 数据库服务器之间建立连接。
谁能告诉我如何“与本地主机绑定地址”?
【问题讨论】:
谁能告诉我如何“与本地主机绑定地址”?
这是一个 MySQL configuration directive。
在[mysqld] 部分编辑全局my.ini 文件:
[mysqld]
# -- various other settings
port = 3306
bind-address = 127.0.0.1
# -- other settings
保存此文件,然后重新启动服务器。
如果您想连接到 MySQL 的本地 Windows 实例,只需使用 127.0.0.1 作为服务器地址。
如果你想连接到你的远程服务器,那台运行 Linux 的话就有点复杂了:
首先,确保 MySQL 正在侦听 Linux 服务器的公共 IP。更改 bind-address = 行并将其设置为您服务器的公共 IP。
确保端口 3306 未被任何防火墙阻止。
您用来连接服务器的用户需要具有从远程 IP 连接的权限。默认情况下,用户只能从localhost 连接 - 换句话说,只有当程序与服务器本身在同一台机器上运行时,他们才能连接。
要从远程 IP 授予用户访问权限,请在使用 MySQL root 用户登录时从 mysql> shell 运行此命令:
GRANT ALL on somedb.* to someuser@8.8.8.8 identified by 'somepassword';
如果您想从任何远程 IP 授予对 someuser 的访问权限:
GRANT ALL on somedb.* to someuser@% identified by 'somepassword';
完成这些步骤后,请确保重启 MySQL 服务器,以便读取配置中的更改。
【讨论】:
/etc 的某个地方。在 debian 系统上是 /etc/mysql/my.cnf