解决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了。
分享到:
相关推荐
本文将详细阐述如何在Ubuntu下解决MySQL不能远程访问的问题,具体步骤分为三个部分:配置文件的修改、MySQL数据库的修改以及再次用Mysql客户端登录验证。 ### 一、配置文件的修改 #### 步骤1:编辑my.cnf文件 ...
无法远程访问Mysql的解决方案 Mysql 是一种关系型数据库管理系统,广泛应用于各种 web 应用程序中。然而,在实际应用中,我们常常会遇到无法远程访问 Mysql 的问题,这是由于 Mysql 的安全机制所致。下面我们将详细...
### 解决MySQL无法远程访问的方法 #### 一、问题背景 在使用MySQL数据库时,有时会遇到无法从远程计算机访问数据库的问题。这通常是因为MySQL默认只允许本地(localhost)访问,而不支持远程连接。本文将详细介绍...
通过上述方法,可以有效解决MySQL不允许从远程访问的问题。需要注意的是,在进行这些操作时,一定要确保系统的安全性,避免因权限设置不当而带来的安全风险。此外,还应定期检查并更新服务器安全策略,确保数据库的...
默认情况下,MySQL服务器只允许本地连接(即通过localhost或127.0.0.1进行连接),不允许远程主机直接连接。 #### 二、解决方法 针对这个问题,可以采取以下几种解决方法: ##### 方法一:修改MySQL用户权限设置 ...
3. **MySQL配置文件限制**:在MySQL的配置文件(如`my.cnf`或`my.ini`)中,可能设置了不允许远程访问的选项。 4. **网络问题**:有时候网络环境不稳定或存在某些限制也会导致远程连接失败。 #### 三、解决方法 ##...
3. **MySQL用户权限不足**:MySQL中的用户可能没有被授予足够的权限来允许远程访问。 4. **网络配置问题**:如DNS解析错误、路由表配置不正确等也可能导致远程连接失败。 #### 二、解决方案 针对上述问题,我们...
值得注意的是,尽管这些方法允许我们在不修改MySQL服务器配置的情况下远程访问,但安全仍然是首要考虑。应确保SSH凭据的安全性,避免在不安全的网络环境下进行此类操作,并定期更换SSH密钥和数据库密码,以降低潜在...
在某些情况下,可能需要从远程位置访问MySQL数据库,而这时可能会遇到“不支持远程连接”的问题。本篇文章将详细解释如何使用NaviCat工具解决这个问题,通过HTTP通道实现远程连接。 NaviCat是一款功能丰富的MySQL...
远程访问授权是MySQL服务器安全策略的重要组成部分,它允许数据库管理员为特定用户设置访问权限,确保只有授权用户能够从远程位置连接到数据库服务器。 ### MySQL远程访问授权原理 MySQL使用基于用户的权限系统来...
MySQL数据库设置远程访问权限方法总结 MySQL数据库设置远程访问权限是关系型数据库管理系统中的一个重要问题。本文将详细介绍如何设置MySQL数据库的远程访问权限,并提供了一些相关的安全策略和Best Practice。 ...
首先,我们需要理解为什么MySQL默认不允许远程连接。出于安全考虑,MySQL服务通常只允许本地主机(127.0.0.1或localhost)进行连接。这意味着,如果你尝试从另一台设备通过网络访问MySQL服务器,将会被拒绝,这就是...
### MySQL远程登录解决方案详解 MySQL作为一种广泛使用的开源关系型数据库管理系统,在...通过遵循上述指南,你可以有效地解决MySQL远程登录的问题,无论是临时需求还是长期部署,都能确保数据库的高效和安全访问。
远程连接MySQL所遇到的问题以及解决问题方法 在 Linux 系统中,使用 YUM 命令安装 MySQL 后,需要进行一系列的配置...使用以上方法可以解决不能进行远程连接 MySQL 数据库的问题,并且允许所有用户访问 MySQL 服务器。
mysql默认是不可以通过远程机器访问的,只允许本地访问,通过下面的配置可以开启远程访问; 排查思路: mysql设置远程访问主要从以下三个方面去检测:首先检查网络,两台计算机之间必须能ping通,这是基础;第二:...
- **SELinux 或其他安全策略**:如果服务器启用了 SELinux 或类似的安全策略,可能需要调整相关策略以允许远程连接。 - **网络问题**:检查客户端与服务器之间的网络连接是否正常。 #### 五、总结 本文详细介绍了...
总的来说,解决 MySQL 的远程访问和中文乱码问题,需要理解数据库权限、字符集原理以及开发工具的使用。通过细心的配置和测试,我们可以确保数据库系统的正常运行,同时保障数据的完整性和可读性。
mysql 远程连接错误 1130 是一个常见的问题,当我们尝试从远程访问 mysql 服务器时,可能会遇到这个错误。这个错误的原因是因为 mysql 服务器不允许远程连接的用户权限问题。为了解决这个问题,我们可以通过修改 ...
### 解决MySQL远程连接不上问题 在日常的数据库管理和维护工作中,我们经常会遇到MySQL数据库只能通过本地`localhost`访问而无法通过IP地址进行远程连接的问题。这种情况不仅限制了数据库的可访问性和灵活性,还...