Navicat链接Mysql过程
第一步,使用SSH通道链接服务器
这里我犯的错误是把端口改成了3306.其实这是用SSH链接服务器,而不是链接数据库,所以端口是22.用户名一般默认是root,密码是服务器的密码。
如果你SSH链接的端口不是22,就会报Server unexpectedly closed network connection这样的错误。
第二步链接服务器的MySQL
当使用SSH链接服务器填写完后,链接MySQL。连接名可随便写,主机名可不用改,因为此时已经链接好了服务器,localhost就指代你自己的服务器。用户名和密码就是自己创建的MySQL的用户和密码,注意该用户的权限要是“%”,这样才会开放了远程链接的权限。
输入密码进入数据库后,切换为使用mysql数据库
mysql> use mysql;
查看用户是否具有访问权限的命令是:
mysql> select user, host from user;
这里也放上创建新用户的设置权限的命令
创建用户和设置密码(usernam和password可自己更改)
mysql> CREATE USER ‘username’@’%’ IDENTIFIED BY ‘password’;
完成之后使用如下指令为该用户分配所有权限
mysql> GRANT ALL PRIVILEGES ON . TO ‘username’@’%’;
接着刷新权限即可使用新用户在任意host登录数据库
mysql> FLUSH PRIVILEGES;
注:别轻易按着别人的教程,把bind-adress那一行的127.0.0.1更改成0.0.0.0。要先查询自己的数据库端口3306是否开放。
netstat -an | grep 3306
这里我就已经是0.0.0.0了,就不用更改bind-adress。
按着别人的教程,到这一步其实应该是可以连接上的。
但是还报了一个错误:2059- Authentication plugin ‘caching_sha2password’ cannot be loaded:
查询后才知道原因是Navicat12的版本过旧,提供链接,大家可以根据博主方法破解
原文链接:https://blog.csdn.net/catoop/article/details/91452090
一种是升级navicat驱动(这个方法要慎重使用,因为大家都是下载破解版本的,可能会升级后导致无法使用,需要重新下载安装)
我就采取了第二种:
最后终于成功链接了!