在'读取初始通信包时失去与MySQL服务器的连接

时间:2012-06-24 09:16:40

标签: python mysql

我想通过Python在本地机器和MySQL数据库服务器之间建立连接。

有人可以告诉我如何" bind-address with localhost"?

1 个答案:

答案 0 :(得分:6)

  

有人可以告诉我如何“使用localhost绑定地址”吗?

这是一个MySQL configuration directive

修改my.ini部分中的全局[mysqld]文件:

[mysqld]
# -- various other settings
port = 3306
bind-address = 127.0.0.1
# -- other settings

保存此文件,然后重新启动服务器。

修改

如果要连接到MySQL的本地Windows实例,只需使用127.0.0.1作为服务器的地址。

如果你想连接你的远程服务器,运行Linux的那个,那就有点复杂了:

  1. 首先,确保MySQL正在侦听Linux服务器的公共IP。更改行bind-address =并将其设置为服务器的公共IP。

  2. 确保端口3306未被任何防火墙阻止。

  3. 用于连接服务器的用户需要具有从远程IP连接的权限。默认情况下,用户只有权从localhost连接 - 换句话说,只有当程序与服务器本身在同一台机器上运行时,它们才能连接。

  4. 要从远程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服务器,以便读取配置中的更改。