现象描述
今天用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数据库了。