打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
mysql不能连接:Lost connection to MySQL server at ''waiting for initial communication packet'

现象描述

今天用heidisql登陆虚拟机的mysql,登陆不上去。等待约一两分钟后出现错误提示:SQL Error (2013): Lost connection to MySQL server at 'waiting for initial communication packet', system error: 0,如下图所示:

开始以为是远程TCP/IP  root只能通过localhost访问 ,后来新建用户,改为%后还是无果。尝试修改my.ini配置问题后问题消失。

解决办法

在my.ini或者my.cnf中

[mysqld]项中,添加skip-name-resolve

在解决这个问题过程中,发现另一个启动参数:skip-grant-tables

mysql启动参数:skip-grant-tables

顾名思义,就是在启动mysql时不启动grant-tables,授权表。有什么用呢?当然是忘记管理员密码、mysql数据库中user表出问题时有用。使用该参数,那么任何账号用任何的密码(当然也包括空)都可以登录到mysql数据库了。

注意:如果使用skip-name-resolve,请使用IP,不能使用localhost

转自:http://blog.csdn.net/zm2714/article/details/7929922

设置mysql允许外部IP连接的解决方法

  mysql默认情况下,只允许localhost连接,如果需要外部IP连接到mysql,需要向mysql数据库里的“user”表里添加相关授权。
  例如:让newuser用户使用newpwd密码从IP:192.168.1.3主机链接到mysql服务器  
  
  具体步骤:
  mysql>GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'192.168.1.3'IDENTIFIED BY 'newpwd' WITH GRANT OPTION;
  mysql>flush privileges;   
  
  grant语法:
  grant 权限名(所有的权限用all) on   库名(*全部).表名(*全部) to '要授权的用户名'@'%'(%表示所有的IP,可以只些一个IP) identified by "密码";
身份检查使用user表(Host, User和Password)3个范围列执行。服务器只有在user表记录的Host和User列匹配客户端主机名和用户名并且提供了正确的密码时才接受连接。
在user表Host值的指定方法:
   * Host值可以是主机名或IP号,或'localhost'指出本地主机。
   * 你可以在Host列值使用通配符字符“%”和“_”。
   * Host值'%'匹配任何主机名,空Host值等价于'%'。它们的含义与LIKE操作符的模式匹配操作相同。例如,'%'的Host值与所有主机名匹配,而'%.mysql.com'匹配mysql.com域
的所有主机。

转自:http://blog.sina.com.cn/s/blog_608e20930100jekr.html
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
MYSQL用户管理
解决mysql Navicat 出错:1130
设置mysql允许外部IP连接的解决方法 — Windows Live
ubuntu服务器搭建环境
mysql设置远程访问数据库的多种方法
mysql新建用户,修改权限
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服