当前位置: 首页 > news >正文

mysql怎么只允许指定IP访问

要查看MySQL数据库中连接成功的历史IP地址,你可以查询MySQL的日志文件或使用以下SQL查询来获取相关信息:

查看MySQL的日志文件:
打开MySQL配置文件,找到log-bin参数。该参数用于启用二进制日志(Binary Logging)。
如果你启用了二进制日志,可以在配置文件中找到log-bin参数的值,该值指定了二进制日志文件的名称。
打开二进制日志文件,并查找连接成功的记录。你可以使用文本编辑器或命令行工具(如grep)来搜索连接成功的记录。
使用SQL查询获取连接成功的IP地址:
连接到MySQL数据库。
执行以下SQL查询来获取连接成功的IP地址:
SELECT DISTINCT remote_addr FROM mysql.user WHERE remote_addr IS NOT NULL;
该查询将从mysql.user表中选择不重复的远程地址(即连接成功的IP地址)。

请注意,上述方法仅适用于MySQL数据库的连接历史记录。如果你使用的是其他数据库系统,可能需要查阅相关文档以了解如何查看连接成功的历史IP地址。

第一种办法

要只允许指定IP访问MySQL数据库,你可以通过以下步骤进行设置:

打开MySQL配置文件。在Linux系统上,MySQL的配置文件通常位于/etc/mysql/mysql.conf.d/mysqld.cnf或/etc/mysql/my.cnf。在Windows系统上,通常位于MySQL安装目录的bin子目录下。

在配置文件中找到bind-address参数。这个参数用于指定MySQL服务器绑定的IP地址。

将bind-address参数的值修改为允许访问的IP地址。例如,如果你只想允许IP地址为192.168.0.100的客户端访问MySQL,可以将bind-address的值修改为192.168.0.100。

保存并关闭配置文件。

重启MySQL服务器,使配置生效。在Linux系统上,可以使用以下命令重启MySQL服务器:

sudo service mysql restart

在Windows系统上,可以通过点击“开始”菜单,找到MySQL安装程序,然后选择“服务”,再选择“重启MySQL服务”。

完成以上步骤后,MySQL服务器将只允许指定的IP地址进行访问。请注意,这种方法只能限制来自指定IP地址的连接请求,而不能限制来自其他IP地址的连接请求。

第二种办法

在MySQL中,你可以通过授权特定的客户端IP地址来限制其对数据库的访问。你可以使用以下步骤来指定允许访问的客户端IP地址:

连接到MySQL数据库。你可以使用命令行工具(如MySQL Shell、MySQL命令行客户端)或任何支持MySQL连接的图形界面工具(如phpMyAdmin、MySQL Workbench等)。
选择要限制访问的数据库:
USE your_database_name;

创建一个新的MySQL用户或修改现有用户的权限。如果你还没有可用的MySQL用户,请创建一个新用户。假设你要创建一个名为"myuser"的用户,设置密码为"mypassword",并限制其只能从特定IP地址访问数据库:

CREATE USER 'myuser'@'specific_ip_address' IDENTIFIED BY 'mypassword';
如果你已经有一个用户,你可以修改其权限:
GRANT ALL PRIVILEGES ON your_database_name.* TO 'myuser'@'specific_ip_address'

请将 "specific_ip_address" 替换为你希望允许访问的客户端IP地址。

限制用户只能从指定的IP地址访问:
REVOKE ALL PRIVILEGES ON your_database_name.* FROM 'myuser'@'%';
GRANT ALL PRIVILEGES ON your_database_name.* TO 'myuser'@'specific_ip_address';
FLUSH PRIVILEGES;
这将撤销用户在所有IP地址上的访问权限,然后重新授予在指定IP地址上的访问权限。最后,使用 FLUSH PRIVILEGES; 命令使更改立即生效。

确保防火墙允许从指定IP地址到MySQL端口的流量(默认为3306)。这可以确保客户端IP地址能够与MySQL服务器建立连接。
重新启动MySQL服务器,使配置生效。在Linux系统上,可以使用以下命令重启MySQL服务器:
sudo service mysql restart
在Windows系统上,可以通过点击“开始”菜单,找到MySQL安装程序,然后选择“服务”,再选择“重启MySQL服务”。

 

 

相关文章:

  • 书生·浦语大模型实战营——两周带你玩转微调部署评测全链路
  • Jenkins的邮箱配置和插件下载
  • PHP数组定义和输出
  • 【深度学习-目标检测】03 - Faster R-CNN 论文学习与总结
  • Laravel框架使用phpstudy本地安装的composer用Laravel 安装器进行安装搭建
  • 【操作系统】探究进程奥秘:显示进程列表的解密与实战
  • 前端性能优化三十一:花裤衩模板webpack DllPlugin
  • 【JVM】虚拟机栈与本地方法栈
  • redis—String字符串
  • 【unity学习笔记】3.常用结构体
  • MyBatis——MyBatis的缓存
  • TrustZone之与非安全虚拟化交互
  • docker-compose 安装Sonar并集成gitlab
  • 构造LR(1)分析表和LALR(1)分析表
  • 晶闸管(Thyristor)
  • ----------
  • 收藏网友的 源程序下载网
  • 0基础学习移动端适配
  • Babel配置的不完全指南
  • CentOS6 编译安装 redis-3.2.3
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • fetch 从初识到应用
  • LintCode 31. partitionArray 数组划分
  • Nodejs和JavaWeb协助开发
  • spring boot 整合mybatis 无法输出sql的问题
  • 创建一个Struts2项目maven 方式
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 理清楚Vue的结构
  • 力扣(LeetCode)21
  • 前端面试题总结
  • 前端面试总结(at, md)
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 想写好前端,先练好内功
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • ​ssh免密码登录设置及问题总结
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • (42)STM32——LCD显示屏实验笔记
  • (C++)八皇后问题
  • (Java数据结构)ArrayList
  • (k8s中)docker netty OOM问题记录
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (附源码)计算机毕业设计高校学生选课系统
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (转)EXC_BREAKPOINT僵尸错误
  • (转)h264中avc和flv数据的解析
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .net php 通信,flash与asp/php/asp.net通信的方法
  • .NET 设计模式初探
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)
  • //解决validator验证插件多个name相同只验证第一的问题
  • @Autowired注解的实现原理