阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

187次阅读
没有评论

共计 1125 个字符,预计需要花费 3 分钟才能阅读完成。

现在在很多的互联网公司对于 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 连接,如下图:

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

由于在上面的讲解过程中我发现对于有些 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;

执行过程如下:

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

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-06/144833.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计1125字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中