在“读取初始通信数据包”时失去与 MySQL 服务器的连接 [重复]
Posted
技术标签:
【中文标题】在“读取初始通信数据包”时失去与 MySQL 服务器的连接 [重复]【英文标题】:Lost connection to MySQL server at 'reading initial communication packet [duplicate] 【发布时间】:2012-06-25 22:30:36 【问题描述】:我想通过 Python 在我的本地机器和 mysql 数据库服务器之间建立连接。
谁能告诉我如何“与本地主机绑定地址”?
【问题讨论】:
你现在的设置是什么?你试过什么? 您是否有可能遇到防火墙问题? ***.com/questions/5755819/… 发布了类似的问题 【参考方案1】:谁能告诉我如何“与本地主机绑定地址”?
这是一个 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 服务器,以便读取配置中的更改。
【讨论】:
谢谢...!但是你能告诉我我在哪里可以找到这个 my.ini 文件....?我正在尝试从我的本地机器(Windows 操作系统)连接到我的服务器(linux os),并且我已经在我的本地机器上安装了 MySQL“社区服务器”。 我已经完善了第二步和第三步......但是我无法找到 my.ini 全局文件..?我应该在哪里寻找它..? 应该在/etc
的某个地方。在 debian 系统上是 /etc/mysql/my.cnf
但我在 Windows 上运行.. 有什么想法..?
如果您的服务器在 Windows 上,而您的应用程序在 Windows 上,那么您无需执行任何操作。否则,运行server configuration wizard以上是关于在“读取初始通信数据包”时失去与 MySQL 服务器的连接 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
在“读取初始通信数据包”时失去与 MySQL 服务器的连接,系统错误:61
在读取初始通信数据包时失去与 MySQL 服务器的连接,系统错误:111
Google App Engine 和 Cloud SQL:在“读取初始通信数据包”时失去与 MySQL 服务器的连接
MySQL Workbench 错误:在“读取初始通信数据包”时丢失与 MySQL 服务器的连接,系统错误:0