配置服务器Navicat连接Mysql

首先,先说明一下我用的是Vagrant虚拟机,当然和平时服务器差不了太多基本是一样配置

Navicat.png

Ubunut配置(无防火墙)

更改Vagrant的mysql配置
vagrant@ubuntu:mysql -u root -p     //连接数据库 默认密码 123456
mysql>use mysql;
mysql>select Host,user from user;
+-----------+-----------+
| Host      | user      |
+-----------+-----------+
| localhost | root      |
| localhost | mysql.sys |
+-----------+-----------+
//然后把 root 的localhost 改为 %
//%是任何人都可以连接,如果感觉不安全,可以用防火墙拦截(Ubunut无防火墙需要下载电子安全狗)
mysql>update user set host = '%' where user = 'root';
+-----------+-----------+
| Host      | user      |
+-----------+-----------+
| %         | root      |
| localhost | mysql.sys |
+-----------+-----------+

然后我们去连接测试如果报错2003 *********** (10038)然后进行下一步

Mysql10038错误.png
线上服务器 - 阿里云ECS

如果是线上服务器,记得在阿里云ECS控制台->安全组->添加3306端口

服务器安全组.png
配置Mysql文件(将bind-address = 127.0.0.1注释)
vagrant@ubuntu:netstat  -an|grep 3306    //先查看一下端口发现指向本地才能访问3306:
没改Mysql配置之前.png
vagrant@ubuntu:cd /etc/mysql/mysql.conf.d  //配置文件路径
vagrant@ubuntu:sudo vi mysqld.cnf          //打开配置文件
Mysql路径.png
配置步骤.png
vagrant@ubuntu:sudo service mysql restart     //重启mysql
vagrant@ubuntu:netstat  -an|grep 3306        //先查看一下端口
修改Mysql配置文件后.png
Navicat连接成功.png

防火墙以及安全组查看3306

查看已有的iptables规则,以序号显示
iptables -L -n --line-numbers
第六条对应的3306端口是Drop(拒接)的,所以需要手动开启,输入以下命令开启
iptables -D INPUT 6

iptables.png

重启Mysql或 执行
mysql>flush privileges;

恭喜你连接成功,其实很简单希望能帮到大家。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容