`
aiou
  • 浏览: 192423 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

解决MySQL不允许从远程访问的方法

阅读更多
解决MySQL不允许从远程访问的方法

解决方法:
1。改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从“localhost”改称“%”

mysql -u root -pvmwaremysql>use mysql;
mysql>update user set host = ‘%’ where user = ‘root’;
mysql>select host, user from user;


2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO myuser@'%'  IDENTIFIED BY 'mypassword'  WITH GRANT OPTION;
FLUSH   PRIVILEGES;

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'   IDENTIFIED BY 'mypassword'  WITH GRANT OPTION;
  FLUSH   PRIVILEGES;

我用的第一个方法,刚开始发现不行,在网上查了一下,少执行一个语句 mysql>FLUSH   PRIVILEGES
使修改生效.就可以了

#################################

开启Mysql数据库的远程连接权限:

grant all privileges on *.* to 'root' @'%' identified by 'wrx123';
flush privileges;



开启mysql的远程连接
把你的HOST字段改成 % ,表示任何地址的都可以用此帐号登录,或你也可以定IP

mysql>GRANT ALL on *.* to 123@192.168.0.% identified by “456″;

2007年6月15日:
在之前我老连接不上,猜想可能是Linux防火墙缘故。今天下午测试后,果然是没有开放TCP 3306口。

现在我们只能在服务器上访问mysql,如果是这样那就太不方便了,下面我们就配置允许外部用户访问的账号
grant select,insert,update on *.* to abcde@’%’ identified by ’123456’;
flush privileges;
现在从外部还是不能访问,因为此时Linux的防火墙是不允许Mysql的端口3306开放的。

修改防火墙配置文件:
vi /etc/sysconfig/iptables
增加下面一行:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
如果想开通21等端口,只需要将3306换成21等要开放的端口就可以了。
附:iptables
==============================================
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp –icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp –dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp –dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited
COMMIT

================================================
配置后,重新启动iptable

service iptables restart

这时就可以从外网访问Mysql了。
分享到:
评论

相关推荐

    MySQL 不允许从远程访问的解决方法

    可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%” 代码如下:mysql -u root...

    Navicat出现无法远程连接MySql服务器问题的解决办法

    mysql默认是不可以通过远程机器访问的,只允许本地访问,通过下面的配置可以开启远程访问; 排查思路: mysql设置远程访问主要从以下三个方面去检测:首先检查网络,两台计算机之间必须能ping通,这是基础;第二:...

    解决Navicat远程连接MySQL出现 10060 unknow error的方法

    第一:首先检查你的阿里或腾讯的服务器控制台是否开启3306端口访问权限,关于在哪里看,请自行百度,我的如下,可以看到,并没有允许远程连接 如果和我一样没开启,那就开启吧   开启允许所有连接后,再试试 又...

    远程访问MySQL数据库的方法小结

    MySQL数据库不允许从远程访问如何办?本文提供了 3种解决思路方法

    使用了星外的Ipsec如何允许MySQL远程连接?

    您可能感兴趣的文章:navicat无法远程连接mysql的解决方法mysql开启远程连接(mysql开启远程访问)详解远程连接Mysql数据库的问题(ERROR 2003 (HY000))配置mysql允许远程连接的方法远程连接mysql 授权方法详解远程连接...

    MySQL数据库远程访问权限如何打开(两种方法)

    在我们使用mysql数据库时,有时我们的程序与数据库不在同一机器上,这时我们需要远程访问数据库。缺省状态下,mysql的用户没有远程访问的权限。 下面介绍两种方法,解决这一问题。 1、改表法 可能是你的帐号不允许...

    mysql数据库远程访问设置方法

    MySQL数据库不允许从远程访问怎么办?本文提供了三种解决方法,需要的朋友可以参考下

    mysql 远程连接数据库的方法集合

    MySQL数据库不允许从远程访问怎么办?本文提供了三种解决方法:

    linux安装mysql(rpm脱网安装).zip

    4、修改root密码及允许远程访问 输以下命令回车并输入密码登录mysql #mysql -uroot -p 通过sql更新密码及远程访问权限 mysql> use mysql; mysql> update user set password=password('123456') where user='root'; ...

    连接远程mysql数据库失败常见原因及解决办法

    这样设置了允许访问的用户名和IP地址(若想所有IP都可以访问,则可将Host设置为‘%’,但是这样很危险,不建议)。  若想myuser使用mypassword从任何主机连接到mysql服务器   mysql> GRANT ALL PRIVILEGES ON *...

    mysql-8.0.20-macos10.15-x86_64.tar.gz

    //给mysql用户分配远程访问权限 会出现, You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by "12345678...

    Ubuntu下取消MySQL数据库本机绑定限制方法

    出现问题:在Ubuntu系统中,添加了MySQL账户,赋予了数据库完全操作权限,并且允许数据库从外部链接但是,还是无法远程访问MySQL数据库。原因:Ubuntu系统中,默认安装的MySQL限制了只有本机才能访问数据库解决办法...

    Microsoft SQL Server 2005 Express 远程访问设置详述,100%成功篇

    但 默认安装时只允许本地访问,而不能远程访问。为了解决这种问题,网上有不少文章进行了介绍,但是都不全,如果你照着做,大都只完成了部份功能,而不能完全成功。本人查了大量资料,几次都想放弃,最终还是成功...

    Mysql安装 Navicat 出现1044/1045错误的解决方法

    如果您想从您的桌面访问远程mysql服务器,首先需要知道mysql系统工作的权限。 用户信息存储在名字为”mysql”数据库的user, db, host, tables_priv和 columns_priv表中。mysql服务器启动时读这些表的内容。 MySQL...

    nServer-v2.1023[FTP + MYSQL + HTTP + PHP(FCGI)]

    - 解决MySQL远程访问慢的问题 2012年03月30日 - 更新Nginx版本为1.0.14 2012年03月20日 - 优化PHP配置 - 优化Nginx配置 2012年03月13日 - 更新xxfpm,防止部分杀软误报 - 更新php监听端口,防止和一些下载软件...

    Matlab to MySQL Interface:Matlab to MySQL interface using a PHP script-matlab开发

    不幸的是,出于安全原因,许多 Web 服务器不允许用户从远程应用程序访问 MySQL 服务器。 在这种情况下,可以通过将MySQL服务器与Matlab应用程序调用的php脚本接口来解决此限制。 php 脚本执行由 Matlab 给出的 ...

Global site tag (gtag.js) - Google Analytics