本地navicate连接部署在linux服务器远程mysql时出现2003 - cant connect to MySQL server on 'x.x.x.x'(10038)错误,这是由于本地ip没有权限访问远程数据库的原因,所以我们需要给root用户分配所有的权限,不过在分配权限之前要修改/etc/mysql/my.cnf文件ip地址。
1.我们直接进入目录,然后vim编辑my.cnf文件(可能不在/etc/mysql目录下),代码如下。
#cd /etc/mysql #vim my.cnf
2.找到bind-address这一行,将本地ip127.0.0.1改成你的远程ip地址,代码如下。
//原来的代码 bind-address =127.0.0.1 //改成你的服务器ip,如 bind-address =139.59.223.5
3.改完之后保存退出,按esc后使用以下命令保存病退出。
#wq!
4.最后就是登陆到mysql中给root用户分配所有权限(可以先直接做第4步,如果不行则做第1,2,3步骤)。
//xxx表示密码 #mysql -uroot -pxxx //使用mysql表 #use mysql //分配权限,xxx依然代表你的mysql登陆密码 #grant all privileges on *.* to root@'%' identified by "xxx"; //刷新权限 #flush privileges;
通过以上几个步骤你就可以在本地navicate轻松连接部署在Linux服务器上的mysql数据库了。