首先,先说明一下我用的是Vagrant虚拟机,当然和平时服务器差不了太多基本是一样配置
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)然后进行下一步
线上服务器 - 阿里云ECS
如果是线上服务器,记得在阿里云
ECS
控制台->安全组
->添加3306端口
配置Mysql文件(将bind-address = 127.0.0.1注释)
vagrant@ubuntu:netstat -an|grep 3306 //先查看一下端口发现指向本地才能访问3306:
vagrant@ubuntu:cd /etc/mysql/mysql.conf.d //配置文件路径
vagrant@ubuntu:sudo vi mysqld.cnf //打开配置文件
vagrant@ubuntu:sudo service mysql restart //重启mysql
vagrant@ubuntu:netstat -an|grep 3306 //先查看一下端口
防火墙以及安全组查看3306
查看已有的iptables规则,以序号显示
iptables -L -n --line-numbers
第六条对应的3306端口是Drop(拒接)的,所以需要手动开启,输入以下命令开启
iptables -D INPUT 6
重启Mysql或 执行
mysql>flush privileges;
恭喜你连接成功,其实很简单希望能帮到大家。