我们知道报此错误是通过ssh方式连接导致的,连接的基本前提我们是知晓的
首先:mysql服务我们得是正常启动的吧
其次:网络端口(服务器防火墙)要是放通的吧,什么3306呀或者网络端口映射等等的要处理好。
再次:连接用户和密码再次确认是无误的吧
最后:数据库用户权限(是‘localhost’本地还是‘%’不限制)和配置(数据库默认配置都没有什么问题),要配置好呀。
以上都是能正常搜索找得到的,如果上述再次确认没问题依然报错2013,那就看下面啦!
关键来啦:
其实通过ssh连接时候,基本原理我们知道是先通过ssh服务远程连接服务器,再通过ssh服务转发地址和端口实现远程连接服务器本地数据库的。在连接报错时候我们能看到navicat显示前半段(连接只远程ssh)是通的,后半段是不通的,最有可能的就是ssh服务的问题。排查/etc/ssh/sshd_config中AllowTcpForwarding、AllowRemoteTcpForwarding、GatewayPorts几个参数是否设置为yes。开启后重启ssh服务即可。
vi /etc/ssh/sshd_config
systemctl restart sshd