由于前一段时间在网上买了一个阿里云的服务器,想自己安装一些软件,把自己的项目部署在服务器上,但是在安装MySQL进行远程工具进行连接的时候出现了一些问题,希望能帮到,跟我有一样问题的朋友。
我用的是centos7,当我们在centos上安装好MySQL数据库以后,在系统内部用命令可以正常的使用,例如
但是当我们用远程自己安装的工具连接就出现错误了。错误的图片
这个时候我们就要分析,为什么出现这样的结果了。不要着急去网上找答案。先分析可能出现的问题,列出来,然后一个一个解决就行了。
1。有可能是在MySQL数据库的内部,我们没有开启授权。
2。有可能是我们没有在防火墙中开启远程访问的权限。
3。或者是我们的MySQL数据库配置文件里面存在bind-address = 127.0.0.1
4。这个是前几个问题都没有情况下,最坑的一个问题了,可能是你的服务器是新买的,没有在安全组中加入一个访问端口。
现在我们一个个来解决上面的问题。
- 首先我们在mysql内部开启一个授权 GRANT ALL PRIVILEGES ON . TO
‘想要的登录名字’@’192.168.1.3’IDENTIFIED BY’你的密码’ WITH GRANT OPTION;
其中’@’192.168.1.3’这个ip代表你的服务器的ip,你也可以用%代替,意思是所有ip都能访问。 然后在输入flush
privileges; 重新加载权限 - 上面的步骤以后,如果还是有问题,接着解决。
在系统中打开远程访问端口的权限。因为我这个是centos7的系统,所以跟你们的可能一样。
原来我们要打开端口只需要在vi /etc/sysconfig/iptables 中加入-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
但是我们发现现在没有这个文件夹了。因为防火墙变成了firewall
首先我们需要看看我们的系统有没有打开防火墙 firewall-cmd –state我的已经打开了
如果没有打开使用 systemctl start firewalld.service
关闭用systemctl stop firewalld.service
添加你想要打开的端口 firewall-cmd –zone=public –add-port=80/tcp –permanent permanent代表永久生效
重新刷新 firewall-cmd –reload
3.如果还是不行去MySQL的配置文件中,找到这么一段,把他给注释了就行。
bind-address = 127.0.0.1这个代表我们只能在本机访问。 - 如果还是不行,那估计就是阿里云服务你没有创建安全组。去到你的操作界面。
最后我们重新连接 看一看
最后给大家一个连接之外的优化。
针对Linux远程访问慢的问题。可以在配置文件 [mysqld]中加入 配置文件在 /etc/my.cnf
[mysqld]
skip-name-resolve