debian mysql远程访问权限,Linux和Debian用iptables实现允许指定IP远程连接Mysql

希望服务器之间mysql互联互通,但是不允许普通用户能远程访问Mysql, 那么问题来了,服务器不得不对外开放3306端口怎么设置?

尽管Mysql账号设置上可以限制IP访问,但作为安全方面考虑,应该结合Linux自身的防火墙机制(iptables)进行全面的限制,慎防某些意外事情发生。下面给出简单得命令即可实现只有指定的IP可以远程访问Mysql

使用 iptables -h 查看使用方法

iptables  -A INPUT -s 127.0.0.1 -m tcp -p tcp –-dport 3306 -j ACCEPT #允许本地主机访问

iptables-A INPUT -s 允许访问的IP地址 -m tcp -p tcp –-dport 3306 -j ACCEPT #允许指定的IP访问

iptables-A INPUT -p tcp –dport 3306 -j DROP #屏蔽所有外部访问

或规则文件中添加

-A INPUT -s 127.0.0.1 -m tcp -p tcp –-dport 3306 -j ACCEPT

-A INPUT -s 允许访问的IP地址 -m tcp -p tcp –-dport 3306 -j ACCEPT

-A INPUT -p tcp –dport 3306 -j DROP

需要注意的是,Centos和Ubuntu中,关于iptables的保存上是存在差异的。具体请自行了解。

保存到规则文件iptables-save > /etc/iptables.up.rules

常用规则

还有一点 mysql 默认配置文件 my.ini

有个绑定地址是127.0.0.1 ,需要注释掉,远程才能链接,服务器才能监听远程连接

# bind-address= 127.0.0.1

————*************************——————————————————

建立系统启动加载文件/etc/network/if-pre-up.d/iptables

vi /etc/network/if-pre-up.d/iptables

输入以下内容

#!/bin/bash

/sbin/iptables-restore < /etc/iptables.up.rules

让文件具备执行权限

chmod +x /etc/network/if-pre-up.d/iptables

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Linux上配置MySQL允许远程连接,可以按照以下步骤进行操作: 1. 确保MySQL服务器已安装并正在运行:在Linux终端中执行以下命令来检查MySQL服务的运行状态: ``` sudo systemctl status mysql ``` 如果MySQL未安装或未运行,则需要先安装并启动MySQL服务。 2. 编辑MySQL配置文件:使用文本编辑器(如vi或nano)打开MySQL配置文件。在Ubuntu和Debian上,默认配置文件路径为`/etc/mysql/mysql.conf.d/mysqld.cnf`;在CentOS和RHEL上,默认配置文件路径为`/etc/my.cnf`。 ``` sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf ``` 3. 注释掉bind-address行:在配置文件中找到`bind-address`行,其注释掉(在行的开头添加"# "),或者将其值设置为MySQL服务器的IP地址。这样做将允许MySQL接受来自任意IP地址的连接请求。 ``` # bind-address = 127.0.0.1 ``` 4. 重启MySQL服务:保存并关闭配置文件后,使用以下命令重启MySQL服务以使更改生效: ``` sudo systemctl restart mysql ``` 5. 授予远程访问权限:默认情况下,MySQL可能不允许远程用户连接到数据库。要授予远程访问权限,可以使用以下命令登录MySQL服务器: ``` mysql -u root -p ``` 然后执行以下命令: ``` GRANT ALL ON *.* TO 'username'@'remote_ip' IDENTIFIED BY 'password' WITH GRANT OPTION; FLUSH PRIVILEGES; ``` 将`username`替换为你希望用于远程连接的用户名,`remote_ip`替换为允许访问MySQL服务器的远程IP地址,`password`替换为用户的密码。 6. 更新防火墙规则(可选):如果在Linux上启用了防火墙(如iptables或ufw),请确保允许MySQL服务器的入站连接。具体操作方式可以根据所使用的防火墙工具进行配置。 完成上述步骤后,你应该可以通过远程连接工具(如MySQL客户端或Navicat)连接MySQL服务器了。请注意,在公共网络上开放MySQL的远程访问可能存在安全风险,请确保采取适当的安全措施来保护数据库服务器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值