选用的是云耀云服务器,系统镜像18.0.4 ubantu server版。
sudo apt-get install mysql-server-5.7后,首次登陆,修改密码。
将root用户密码改为自己的密码后,使用本地navicat远程链接,mysql 发现无法连接,报错内容 10038
查阅资料,是3306端口未开启。
1.解决办法如下(网上相关资料很少,csdn两篇相关的博客无法解决我的问题)
打开华为云服务器控制台,查看安全组规则,快速添加规则,如果是私人写程序用,建议使用默认规则就好,如不限制tcp端口访问,ip地址0.0.0.0:*,
0.0.0.0的意思是 不限制任何ip,所有ip均可访问。
或者快速添加安全组规则,
选择相关配置即可,我选了全部的所有规则,ip地址设置为0.0.0.0,,,,如果需要设置ip,win+r cmd ipconfig 查看自己ip并输入源地址即可。
配置完如下,有三个安全组,具体规则均可设置3306端口,(我没有深究具体哪个是远程链接mysql,盲猜webserver)
配置完安全组后,可以尝试navicat 链接测试一下,如果还不成功,则进行如下步骤。、
1.ubantu 查看防火墙,
sudo ufw status, inactive表示防火墙已关闭,若未关闭,则需要关闭防火墙。
2.安全组端口3306已设置,防火墙已关闭,如果仍然无法访问,还是10038
则需要检查ubantu
输入命令, netstat -an | grep 3306 出现,
tcp 0 0 127.0.0.1 listen,,,,,,
此时需要127.0.0.1是指,只能本地访问,需要修改 mysqld.cnf 配置信息。
输入命令,vim /etc/mysql/mysql.cnf/mysqld.cnf 啥啥啥的,记了个大概,总之 就是进入mysql 进入 cat conf ,进入mysql.cnf
修改 mysqld.cnf即可。
vim 进入编辑模式,大概位置比较显眼,中间吧
bind-address = 127.0.0.1;、
注意!!!!!网上的教程是直接注释掉一行,在前面 按 i 切换insert模式,插入###但是我试了,对于我这里不太顶用。
正确的修改方法,查看云服务器控制台,基本信息,有两个ip 一个是 弹性公网,一个是 私有的ip 复制下面第二个 私有 ip
将127.0.0.1 替换为 私有IP即可。 :wq保存后退出,
退出后,重启mysql服务,使之生效。
继续,netstat 查看3306 端口,发现如下图
修改完毕,蓝色部分为你的私有ip
重新用navicat链接,成功。