当前位置: 代码迷 >> 综合 >> 解决Navicat远程服务器2013-Lost connection to MYSQL server at 'waitting for initial communication packet'
  详细解决方案

解决Navicat远程服务器2013-Lost connection to MYSQL server at 'waitting for initial communication packet'

热度:44   发布时间:2023-11-22 17:36:19.0

问题所在:

使用Navicat远程服务器mysql数据库时报错误:2013-Lost connection to MYSQL server at ‘waitting for initial communication packet’,system error:0

操作流程

  • 一、检验Mysql数据库是否安装成功
  • 二、对Mysql的配置文件进行修改配置
  • 三、连接进入mysql服务
  • 四、在mysql环境下执行授权命令
  • 五、用Navicat远程连接Mysql

具体操作如下:

一、检验Mysql数据库是否安装成功

首先,检验云服务器上数据库是否安装成功,输入如下命令进行检验是否安装mysql成功:

sudo netstat -tap | grep mysql

如果出现如下图表示安装成功:
在这里插入图片描述
若没有安装成功,则重新成功安装Mysql。

二、对Mysql的配置文件进行修改配置

根据这个错误提示,这是连接初始化阶段就丢失了连接的错误。
google半天大多是说的注释掉配置文件中 bind-address = 127.0.0.1 这一句。但是我的配置文件并没有配置这一句,各种搜索均也没有解决问题。但是在别人连接成功的配置文件里发现了一个不同的配置语句skip-name-resolve,所以进行了配置。

具体步骤如下:

1、找到配置文件
在不同的Linux系统下,my.cnf放在不同的位置。这里以CentOS7 Server做示例,其他系统请根据情况自行找到my.cnf的路径。一般只会存放在/etc/my.cnf或者/etc/mysql/my.cnf下。
CentOS7 Server其Mysql放在了/etc/my.cnf中:
在这里插入图片描述
2、Linux下修改配置文本
由于这个是linux系统,所以操作不同我们window。

(1)用vim打开配置文件,我的配置文件路径是/etc/my.cnf,所以在远程控制终端(这里推荐用xShell连接远程服务器)中输入:

vim /etc/my.cnf

在这里插入图片描述
(2)切换到编辑模式进行编辑
我们需要通过键盘里的上下键来移动,游标找到
bind-address = 127.0.0.1在前面加上#注释掉,然后加入通过键盘的左右键移动到最前面。
这时按键盘里的insert键,下方会出现 -- INSERT --字样,即切换到编辑模式,在编辑模式下就可以对配置文本进行编辑了:
在这里插入图片描述
(3)切换回一般模式
编辑完后就切换回一般模式,也就是一开始不可编辑的模式。按键盘的Esc键可进入一般模式。在一般模式下输入 : wq(英文下的冒号:)可以退出编辑模式,即 :wq 可以保存并退出编辑模式,如下图:
在这里插入图片描述

三、连接进入mysql服务

连接进入mysql服务
输入这面这条命令连接进入MySql服务:mysql-uroot-p你的密码

例如:mysql -uroot -p123456

如果连接出现错误,且报错如下:
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)
那么,请参考我写的这篇文章进行参考解决:https://blog.csdn.net/qq_37717494/article/details/105369452

如果连接成功,则会是如下显示:
在这里插入图片描述
前面出现mysql>说明已经进入Mysql服务环境了。

四、在mysql环境下执行授权命令

在mysql环境下执行授权命令 (授权给远程任何电脑登录数据库):
流程如下:

  • 1)看当前所有数据库:show databases;
  • 2)进入mysql数据库:use mysql;
  • 3)查看mysql数据库中所有的表:show tables;
  • 4)查看user表中的数据:select Host, User from user;
  • 5)修改user表中的Host:update user set Host='%' where User='root';
  • 6)最后刷新一下:flush privileges;

一定要记得在写sql的时候要在语句完成后加上" ; "下面是图示说明

下面是具体详细图片教程:

  • 1)看当前所有数据库:show databases;
    在这里插入图片描述
  • 2)进入mysql数据库:use mysql;
    在这里插入图片描述
  • 3)查看mysql数据库中所有的表:show tables;
    在这里插入图片描述
  • 4)查看user表中的数据:select Host, User from user;
    -
  • 5)修改user表中的Host:update user set Host='%' where User='root';
    在这里插入图片描述
  • 6)最后刷新一下:flush privileges;
    在这里插入图片描述

五、用Navicat远程连接Mysql

此次远程连接选择的是常规SSH配合连接。

在连接之前要确保服务器安全组的330622端口允许访问,即在服务器的安全组中开放3306和22端口,开放这两个端口是因为Navicat常规连接的端口是3306,SSH连接的端口是22,阿里云开端口教程如下:https://www.bt.cn/bbs/thread-2897-1-1.html
在这里插入图片描述
在这里插入图片描述
【注】SSH是用来连接服务器 ,而常规中的连接是用来连接服务器中的mysql

(此处二者的密码是不一样 看个人当时设置的时候是什么 我的用来远程连接阿里云的账号跟连接数据库的账号都是 root 但是密码是不一样的 此处注意)

(1)连接阿里云服务器中的mysql
此处的连接名随便起,ip就是127.0.0.1,端口是3306 用户名是root 密码就是你输入 mysql -uroot -p时的登录密码
在这里插入图片描述
(2)然后点击SSH
此处的ip就是你阿里云服务器的公网ip,端口默认都是22 用户名我当时设置的就是root(就是你远程连接服务器时的用户)
密码:就是你自己设置的远程连接服务器的密码
在这里插入图片描述
(3)这时就可以点连接测试了
应该会成功了
如果不成功 应该就是你的密码错误
然后连接成功后此处的图标就会变绿了 你就可以随时操作了
在这里插入图片描述
在这里插入图片描述

拓展补充:https://yq.aliyun.com/articles/354773

  相关解决方案