开启mysql的远程访问权限
默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限。
主流的有两种方法,改表法和授权法。
相对而言,改表法比较容易一点,个人也是比较倾向于使用这种方法,因此,这里只贴出改表法
1、登陆mysql
1
|
mysql -u root -p |
2、修改mysql库的user表,将host项,从localhost改为%。%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip,比如可以将localhost改为192.168.1.123,这表示只允许局域网的192.168.1.123这个ip远程访问mysql。
1
2
3
4
|
mysql> use mysql; mysql> update user set host = '%' where user = 'root' ;
mysql> select host, user from user ;
mysql> flush privileges ;
|
防火墙开放3306端口
1、打开防火墙配置文件
1
|
vi /etc/sysconfig/iptables |
2、增加下面一行
1
|
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
|
3、重启防火墙
1
|
service iptables restart |
注意:增加的开放3306端口的语句一定要在icmp-host-prohibited之前
附:个人配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter :INPUT ACCEPT [0:0] : FORWARD ACCEPT [0:0]
: OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -i eth0 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -i lo -j ACCEPT
-A FORWARD -i eth0 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT |
相关推荐
主要为大家详细介绍了linux下mysql开启远程访问权限,防火墙开放3306端口,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
虽然现在 3306 端口已经对外部开放,但还需要为 MySQL 用户授予远程访问权限。 1. 使用 root 用户登录 MySQL: ```bash sudo mysql -u root -p ``` 2. 输入 root 用户的密码。 3. 授予 root 用户远程访问权限: ...
### 开启MySQL远程访问(关闭防火墙) #### 知识点概述 本文档主要介绍了如何在Linux环境下通过关闭防火墙来实现MySQL的远程访问。在实际应用中,MySQL默认只允许本地连接,若想实现远程访问,则需要进行一系列...
### Linux开启MySQL远程连接详解 #### 一、背景介绍 随着云计算和大数据技术的发展,Linux作为服务器操作系统的优势日益凸显,而MySQL作为一款广泛使用的开源关系型数据库管理系统,在Linux环境下更是得到了广泛...
- 即使在MySQL层面设置了远程访问,如果服务器的防火墙未开放相应的端口(默认为3306),远程连接仍无法建立。因此,你需要确保在服务器的防火墙规则中允许来自指定IP的TCP流量进入3306端口。这通常通过`iptables`...
在Ubuntu/Linux环境中,MySQL作为广泛使用的数据库管理系统,其默认配置可能并不满足远程访问或特定端口的需求。本文将详述如何在Ubuntu 17.04 64位系统上,针对MySQL 5.7版本,开放并修改3306端口,以及开放访问...
检查防火墙是否开启了MySQL的3306端口,并尝试从另一台计算机上使用root用户进行远程登录测试。 #### 二、关闭远程访问 **1. 登录本地MySQL** 同上一步骤,登录MySQL。 **2. 使用MySQL库** 同上一步骤,使用...
开启MySQL远程访问的第一步是检查3306端口的状态。这个端口是MySQL默认的通信端口。你可以使用`netstat`命令来查看: ```bash ~# netstat -an | grep 3306 ``` 如果输出显示`bind-address = 127.0.0.1`,这意味着...
命令设置 root 用户权限,并开放防火墙端口号。 8. MySQL 目录结构 MySQL 的目录结构包括数据库目录 /var/lib/mysql/,配置文件目录 /usr/share/mysql/,命令目录 /usr/bin/,日志文件目录 /var/log/mysqld.log ...
3. **防火墙设置**:确保Linux服务器的防火墙(如iptables或ufw)允许来自MySQL-Front所在机器的TCP端口3306(默认MySQL端口)的入站流量。 4. **用户权限**:在MySQL数据库中,你需要为想要远程访问的用户分配相应...
在 Linux 环境下启用 MySQL 数据库远程访问的方法 MySQL 数据库是当前最流行的关系型数据库管理系统之一,在 Linux 环境下启用 MySQL 数据库远程访问是非常重要的。由于安全考虑, MySQL 数据库通常关闭了远程访问...
5. **配置MySQL防火墙规则**:在Linux系统中,可能还需要打开MySQL的默认端口(通常是3306)以允许外部连接。例如,如果使用的是iptables防火墙,可以执行以下命令: ``` sudo iptables -A INPUT -p tcp --dport ...
【Linux下MySQL安装配置】 在Linux操作系统中安装和配置MySQL数据库是系统管理的重要部分,尤其对于需要处理数据存储和检索的应用程序来说。MySQL是一个流行的开源关系型数据库管理系统,广泛应用于Web应用程序、...
- 需要在防火墙中打开3306端口,允许外部连接。例如,在CentOS中,可以使用`firewall-cmd --permanent --add-port=3306/tcp`命令添加规则,然后重启防火墙服务以应用更改。 6. **MySQL目录结构** - 数据库文件:`...
如果遇到“Access denied for user”的错误,检查你的防火墙设置,确保3306端口(默认MySQL端口)对远程连接开放,并检查MySQL的配置文件(通常为`my.cnf`)中的`bind-address`是否设置为0.0.0.0,这允许从所有IP...
MySQL数据库是世界上最受欢迎的开源关系型数据库之一,其在企业级应用中被广泛...通过这些步骤,你就能成功开启MySQL的远程访问权限。但在实际操作中,请根据你的具体环境和需求进行调整,并确保始终遵循最佳安全实践。
5. **安全措施**:开放远程访问后,强烈建议设置防火墙规则,只允许特定IP地址或IP段访问MySQL端口(默认为3306)。 6. **保存配置**:如果在my.cnf配置文件中进行了修改,记得保存并重启MySQL服务,使更改生效。 ...
### Linux 下 MySQL 5.7 的安装与配置详解 #### 一、下载 MySQL 安装包 1. **离线安装准备**: - 如果在没有网络连接的情况下安装 MySQL,可以借助于文件交互软件如 xftp6 或 MobaXterm 来传输安装包。 - 可以...