首页
学习
活动
专区
圈层
工具
发布

mysql设置指定ip访问

要在 MySQL 中设置只允许特定 IP 地址访问数据库服务器,您可以通过以下几种方式实现:

1. 通过 MySQL 用户权限控制

这是最常用的方法,通过创建或修改 MySQL 用户,限制其只能从特定 IP 访问。

代码语言:javascript
代码运行次数:0
复制
-- 创建新用户并限制IP
CREATE USER 'username'@'192.168.1.100' IDENTIFIED BY 'password';

-- 授予权限(例如所有数据库的所有权限)
GRANT ALL PRIVILEGES ON *.* TO 'username'@'192.168.1.100';

-- 或者限制特定数据库
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'192.168.1.100';

-- 刷新权限使更改生效
FLUSH PRIVILEGES;

如果要允许多个 IP:

代码语言:javascript
代码运行次数:0
复制
-- 为每个IP创建单独的用户
CREATE USER 'username'@'192.168.1.100' IDENTIFIED BY 'password';
CREATE USER 'username'@'192.168.1.101' IDENTIFIED BY 'password';

-- 或者使用通配符(允许一个IP段)
CREATE USER 'username'@'192.168.1.%' IDENTIFIED BY 'password';

2. 修改现有用户的访问IP

代码语言:javascript
代码运行次数:0
复制
-- 查看现有用户及允许的host
SELECT user, host FROM mysql.user;

-- 修改用户的host
UPDATE mysql.user SET host='192.168.1.100' WHERE user='username';

-- 或者重命名用户来改变host
RENAME USER 'username'@'%' TO 'username'@'192.168.1.100';

-- 刷新权限
FLUSH PRIVILEGES;

3. 通过防火墙设置

除了MySQL本身的配置,您还可以使用系统防火墙来限制访问:

Linux (iptables)

代码语言:javascript
代码运行次数:0
复制
# 允许特定IP访问3306端口
iptables -A INPUT -p tcp --dport 3306 -s 192.168.1.100 -j ACCEPT

# 拒绝其他所有IP访问3306端口
iptables -A INPUT -p tcp --dport 3306 -j DROP

# 保存规则(根据系统不同)
service iptables save
# 或
iptables-save > /etc/sysconfig/iptables

Windows 防火墙

  1. 打开"高级安全Windows防火墙"
  2. 创建入站规则
  3. 选择"端口",指定3306
  4. 在"作用域"中指定允许的IP地址

4. 修改MySQL配置文件

在MySQL配置文件(my.cnf或my.ini)中添加绑定地址:

代码语言:javascript
代码运行次数:0
复制
[mysqld]
bind-address = 192.168.1.100

这将使MySQL只监听指定IP的请求。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • windows服务器如何设置对指定IP地址进行远程访问?

    这样就实现了 通过服务器自身防火墙,限定特定IP来访问本服务器的目的。   ...windows 2003 防火墙设置 只允许 指定IP 访问指定端口   当然,需要注意的是,因为开启了防火墙,会对服务器的其他应用产生影响,比如,FTP功能没法使用了,比如,瑞星杀毒软件服务器联系不到当前服务器...,远程IP地址 -选中 下列IP地址-右击添加,将允许访问该服务器的IP地址一个个添加进去。   ...二、新建IP筛选器在弹出的新IP安全策略属性对话框里取消使用“添加向导”,点击左侧的添加。   在弹出的新规则属性对话框里点击添加。   起个名称:放行指定IP的3389连接,点击添加。   ...(windows server 2008 r2 为“分配”)   四、(可选)服务器若设置顶顶端口访问可参考下面设置准入规则   打开控制面板,win+r 输入control   找到防火墙,查看方式

    23.9K00

    MySQL设置远程访问

    1.授予远程主机访问MySQL 在MySQL Server端,执行mysql 命令进入mysql 命令模式。使用grant命令用来建立新用户,指定用户口令并增加用户权限。...@[hostName] identified by "password"; flush privileges; 解释上面需要替换的变量意义: previlege:授予的权限; dbName:指定被访问的数据库名称...,如果指定所有数据库可使用*星号; tableName:指定被访问的数据表,如果指定某个数据库下的所有数据表可使用*星号; userName:远程主机的登录用户名称; hostName:远程主机名或者...IP地址; password:远程主机用户访问MySQL使用的密码。...${dbContext}; } runsql "select * from testtable" 注意,上面访问MySQL的脚本中的用户名称和密码,就是在MySQL服务端授权指定的用户名称和密码。

    8K10

    iptables防火墙只允许指定ip连接指定端口、访问指定网站

    这篇文章主要介绍了iptables防火墙只允许指定ip连接指定端口、访问指定网站,需要的朋友可以参考下 需要开80端口,指定IP和局域网 下面三行的意思: 先关闭所有的80端口 开启ip段192.168.1.0.../24端的80口 开启ip段211.123.16.123/24端ip段的80口 # iptables -I INPUT -p tcp --dport 80 -j DROP # iptables -I...tcp --dport 80 -j ACCEPT # iptables -I INPUT -s 211.123.16.123/24 -p tcp --dport 80 -j ACCEPT 以上是临时设置...nat -A PREROUTING -p tcp --dport 21 -d $INTERNET_ADDR -j DNAT --to-destination 192.168.100.200:21 只允许访问指定网址...-A Filter -p icmp -j DROP 禁止某个MAC地址访问internet: iptables -I Filter -m mac --mac-source 00:20:18:8F:72

    19.4K20

    MySQL 设置远程访问

    文章目录 1.授予远程主机访问MySQL 2.MySQL用户的权限类型 3.查看用户权限 参考文献 1.授予远程主机访问MySQL 在 MySQL Server 端,执行 mysql 命令进入 mysql...userName]@[hostName] identified by "password"; flush privileges; 解释上面需要替换的变量意义: previlege:授予的权限; dbName:指定被访问的数据库名称...,如果指定所有数据库可使用星号; tableName:指定被访问的数据表,如果指定某个数据库下的所有数据表可使用星号; userName:远程主机的登录用户名称; hostName:远程主机名或者...IP地址; password:远程主机用户访问MySQL使用的密码。...${dbContext}; } runsql "select * from testtable" 注意,上面访问MySQL的脚本中的用户名称和密码,就是在MySQL服务端授权指定的用户名称和密码。

    7.1K40

    linux设置mysql远程访问

    Mysql默认是不可以通过远程机器访问的,通过下面的配置可以开启远程访问  在MySQL Server端:  执行mysql 命令进入mysql 命令模式,  ?...mysql> use mysql;    mysql> GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;   ...#这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户  和密码(admin)来访问这个MySQL Server    #必须加类似这样的帐户,才可以远程登陆。 ... WITH GRANT OPTION; #这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户  和密码(admin)来访问这个MySQL Server #必须加类似这样的帐户...,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户  和密码(admin)来访问这个MySQL Server  #必须加类似这样的帐户,才可以远程登陆。

    7.8K10

    Windows配置路由表设置指定IP地址走PPTP

    网络-Internet协议版本4-属性-高级-取消掉“在远程网络上使用默认网关”,断开PPTP重新连接,生效以上配置查看PPTP的地址,使用命令:ipconfig进行查看我的连接名称是CN,PPTP的IP...:我们还需要一个地址,那就是远程网关,也就是你的服务器IP,我的是10.10.10.1(备注:一般是你在服务器设定的IP段的开始IP,)设定路由表现在我们有了以下信息:PPTP IP地址:10.10.10.3...服务器IP:10.10.10.1route add 10.10.10.0 mask 255.255.255.0 10.10.10.1 metric 1 if 10.10.10.310.10.10.0 是目标网络段...metric 1 设置较低的跃点数,确保这个路由规则优先生效。...10.10.10.3 是PPTP的IP,也是PPTP的接口标识设定以后,使用ping 测试删除路由表route delete 10.10.10.0 mask 255.255.255.0我正在参与2023

    1.8K20
    领券