navicat无法链接远程linux(ubuntu)上的Mysql

如题,在ubuntu上安装了Mysql,为了方便数据库的管理,需要在本地(windows+navicat)链接到远程数据库上。然后发生一系列问题,特此记录解决过程如下:

一、本地navicat新建链接出现2003错误:

需要修改远程服务器上数据库的两个地方,一个是增加访问IP,一个是增加账户权限。

1、增加访问IP

如图,打开Mysql的配置文件

把红框中的bind-address注释,或者改为本地的IP(如果是公网固定IP),保存退出

2、增加账户权限

本质上就是要修改mysql数据库中user的账户权限,或者添加一个新的账户也可以。我这里是直接修改一个账户的权限,让它能够运行外部的数据库访问。

使用正在使用的账户密码登录mysql,发现里面只有两个数据库表,并没有看到Mysql数据库表的存在。

服务器上的mysql能够正常使用,说明不是数据库有问题,因该是当前账户的权限导致无法显示的问题。但是由于该数据库年久失修,早已忘记root账户的配置。因此先绕过权限,修改mysql中的user数据表。操作如下:

先停止mysql服务,让后同通过 "--skip-grant-tables &"指令绕过权限模式,在后台启动。但是出现如下问题:

既然不存在,那就给它创建一个新目录:

然后再执行skip指令,出现以下提示表示启动成功。特别要注意这里的sock文件很容易丢失,切记不要误删。

另开一个xshell链接端口,并重新进入Mysql操作界面:

此时mysql数据库出现了,现在可以开始更新mysql-user数据库库表:

然后退出即可。

此时navicat就链接成功了!

备注:如果用的是云服务器,还需要在管理后台添加服务器端口的安全组策略,否则是无法链上去的。

发布了74 篇原创文章 · 获赞 127 · 访问量 91万+

猜你喜欢

转载自blog.csdn.net/AAA123524457/article/details/103559678