ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0
这个错误通常发生在以下几种情况下:
MySQL服务器没有启动
MySQL服务器没有正确配置网络连接
根据不同的情况,可以采取不同的解决方法.下面我们逐一讨论.
如果是MySQL服务器没有启动,我们需要先启动MySQL服务器.具体步骤如下:
打开终端或命令行界面(Windows平台打开cmd.exe)
命令行输入sudo service mysql start(Linux平台)或net start mysql(Windows平台),按下回车键启动MySQL服务.
如果MySQL服务启动成功,命令行提示会返回mysql start/running, process xxxx或MySQL服务正在启动的信息.如果失败则需要针对错误信息进行处理.
如果MySQL服务器没有正确配置网络连接,我们需要修改MySQL服务器的配置文件:/etc/mysql/mysql.conf.d/mysqld.cnf.
具体步骤如下:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到以下两行代码:
将第一行代码修改为MySQL服务器所在主机的IP地址:
bind-address = your_MySQL_server_IP
将第二行代码注释掉(在前面加上#):
#skip-networking
使用命令sudo service mysql restart或net stop mysql net start mysql(Windows平台)重启MySQL服务器.
我们可以通过使用ping命令检查网络连接是否正常.
ping 192.16⑧0.100
如果ping能够通,说明网络连接正常.
在MySQL服务器上运行以下命令:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
然后将以下代码:
bind-address = 12⑦0.0.1
修改为:
bind-address = 0.0.0.0
这样MySQL服务器就允许所有IP地址的远程连接了.
然后在MySQL中添加远程连接用户,例如:
CREATE USER 'remote'@'%' IDENTIFIED BY 'remote_password';
GRANT ALL PRIVILEGES ON *.* TO 'remote'@'%' WITH GRANT OPTION;
这样用户remote就可以使用密码remote_password通过任何IP地址连接到MySQL服务器了.
如果MySQL服务器已经启动,检查MySQL服务器的网络配置是否正确: sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf 确认bind-address的值为MySQL服务器所在主机的IP地址,将skip-networking注释掉后保存文件.
重启MySQL服务器: sudo service mysql restart 如果MySQL服务器已经启动,但仍然无法连接,可以进行下一步检查.
首先检查MySQL服务器是否已启动: net start mysql 如果返回类似于以下内容,说明MySQL服务器已经启动了: MySQL 服务正在启动 . MySQL 服务已经启动成功. 如果启动不成功,请查看错误日志,并解决报错问题.
重启MySQL服务器.
以上就是土嘎嘎小编大虾米为大家整理的相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!