无法远程的原因有很多,我今天遇到的问题是通过navicat无法远程连接我在EC2上创建的实例。
1.通过命令" netstat -an|grep 3306 "检查一下3306端口对那些地址开放,我这里是修改后的,我修改之前下面红框标记出来的IP原本是127.0.0.1 导致无法重外部访问。
2.修改配置文件,网上很多人说是修改这个文件:udo vim /etc/mysql/mysql.conf.d/mysqld.cnf 。找了半天都没找到这个文件好吗!
然后我在mysql目录下一个个翻,终于找到正确的配置文件 /etc/mysql/my.cnf
通过命令 sudo vi my.cnf 编辑,将127.0.0.1那一行注释掉,记住一定要使用sudo编辑,不然无法修改这个只读文件,修改完后使用命令 :wq!强制保存退出。
3.使用命令sudo /etc/init.d/mysql restart 重启mysql
4.重新使用navicat远程连接
ps:如果还连不上,试试给root用户授权。
1.mysql -u root -p
2.grant all privileges on *.* to ‘root’@'%’ identified by ‘yourpwd’ with grant option;