订阅博客
收藏博客
微博分享
QQ空间分享

无法远程访问Mysql的解决方案

频道:技术分享 标签:菜鸟程序员数据库相关学习Java-SpringMVC 时间:2016年05月04日 浏览:1412次 评论:8条

现在在很多的互联网公司对于mysql数据库的使用已经是不可阻挡的趋势了,所以经常我们在项目开始的时候就会做的事情就是找一台Linux服务器,到上面去安装个mysql,然后在开始我们的数据表的导入工作,但是我们不能一直占据着服务器的远程连接啊,所以经常我们会采用远程工具去进行数据库的操作处理,但是我们也会遇到如下状况:

MYSQL CONNECT ERROR – 1130:Host ’202.43.**.**’ is not allowed to connect to this MySQL server”

出现上面拒绝连接的根本原因是因为在创建mysql账户时限制连接账户远程登录的,也就是说:除了当前mysql所在的安装服务器外,其他的ip(主机)都是不允许访问的,尽管你的用户名和密码是正确的;其实不是MySQL默认不支持远程,是MySQL的默认用户root默认不支持远程,说白了,也就是权限问题,root用户的Host默认就是127.0.0.1(localhost)最简单的方法就是重新建了一个用户,支持远程访问,而不用去修改root的权限,建议这样做,但是如果真的是需要采用root远程操作嘛也不是没有办法,下面提供两种方案去解决:

①在/etc/mysql/my.cnf中的 [mysqld] 段注释掉bind-address = 127.0.0.1

②用mysql -uroot -p 登陆mysql,然后采用以下方法开启远程访问权限;

#mysql -u root -p
#*******(密码,默认的密码是空)
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>flush privileges;

我们执行代码之后我们可以看到我们的root用户对应的host是%,表示允许所有ip连接,如下图:

1.png

由于在上面的讲解过程中我发现对于有些mysql的用户来说对于mysql的默认密码为空这个不是很在意,所以这里对大家给个提醒就是刚刚安装的mysql,在我们安装结束之后记得要清除空用户并及时修改密码,下面简单记录这两个过程,简单如下:

mysql -u root -p
mysql>select user,host,password from mysql.user;
mysql>drop user ''@localhost;
mysql>update mysql.user set password = PASSWORD('*********') where user='root';
mysql>flush privileges;

执行过程如下:

8.png

简单的mysql的相关操作就讲到这里了,如果想了解LNMP的相关安装过程可以参考:http://cuiyongzhi.com/post/LNMP%E8%BF%90%E8%A1%8C%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA.html 感谢你的翻阅,如有疑问可以留言讨论!


文章评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

分享:

支付宝

微信