作者:白狼
本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
我们需要做的就是配置ecs上的mysql,识别本地登陆者账号,确保本地账号可以登录
第一步要做的是先确保你的服务器防火墙打开了3306端口。
我们来看下Linux怎么配置防火墙不阻止3306端口。
以windows为例:
win+R打开命令行输入下面的命令测试下服务器防火墙有木有打开3306端口
telnet 服务器ip 3306
如果提示telnet命令不存在,请百度自行配置,很简单的。
如果提示连接不上就是我们服务器未开放3306端口了。
我们登录服务器执行
vi /etc/sysconfig/iptables
这里以阿里云的服务器为例 进行配置:
打开上述文件后,我们以COMMENT为最后一行,在倒数第二行的前面添加下面这句代码,注意一定是倒数第二行的前面,不然不会生效!!!
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
好了,配置ok,下面我们重启下防火墙
service iptables restart
第二步,我们简单的配置mysql即可。
我们以 账号root 密码 123 服务器数据库 aaa 本地ip xx.yy.zz.cc 为例
首先需要登录服务器上的mysql,执行下面的代码
grant all on aaa.* to 'root'@xx.yy.zz.cc identified by '123';
第二步也就是我们最后一步,
然后我们刷新权限表让其生效即可。
flush privileges;
注:如果不限定ip,上面的第一条命令改为下面的进行执行即可
grant all on aaa.* to 'root'@'%' identified by '123';
%代表来自不同的IP
记得flush刷新权限哦