远程连接MySQL数据库失败-Lost connection to MYSQL server at ‘reading for initial communication packet‘

时间:2024-04-09 22:33:47

一. 问题背景

服务器:linux
数据库:MySQL 5.7.25

情况:在linux的mysql上设置了grant all privilege *.* to [email protected]'%' identified by '密码';。mysql默认的端口号是3306。然后使用navicat远程连接mysql数据库,却失败了。报错2013-Lost connection to MYSQL server at 'reading for initial communication packet'

参考博客: 解决Navicat远程服务器2013-Lost connection to MYSQL server at ‘reading for initial communication packet’

二. 解决方案

  • 首先进入linux上的my.cnf。一般都是在/etc/my.cnf,如果没有则自行创建

  • 把my.cnf里面的bind-address那一行注释掉,无论是bind-address=127.0.0.1还是bind-address=0.0.0.0,都把bind-address这行注释掉注释掉。

  • 在my.cnf中加上skip-name-resolve

  • 重启mysql服务:service mysql stopservice mysql start或者直接一句service mysql restart

打开navicat,连接如下:
远程连接MySQL数据库失败2013-Lost connection to MYSQL server at ‘reading for initial communication packet‘
远程连接MySQL数据库失败2013-Lost connection to MYSQL server at ‘reading for initial communication packet‘
连接成功!如有问题请留言