MySQL设置白名单限制

白名单(Whitelist)是一种机制,用于限制哪些主机可以连接到服务器,而阻止其他主机的访问。通过配置白名单,可以增加服务器的安全性,防止未授权的访问。

在MySQL数据库中直接设置白名单访问(即限制只有特定IP地址或IP地址范围能够访问数据库)并不是MySQL服务器本身直接提供的功能。

MySQL主要关注于数据的存储、检索和管理,而网络层面的访问控制通常由操作系统、防火墙规则或中间件(如数据库代理、负载均衡器等)来管理。

在网络安全领域中,白名单常被认为是一种安全性较高的访问控制策略,因为它仅允许明确列出的主机进行访问,从而减少了潜在的安全漏洞。

在MySQL数据库中,通常修改 MySQL的配置文件或者授权用户访问权限来限制哪些主机可以连接到MySQL服务器,而阻止其他主机的访问。可以理解为MySQL数据库的白名单(Whitelist)机制。

一、修改配置文件

MySQL配置文件 my.ini中的bind-address选项确实可以用于限制MySQL服务器监听的IP地址,但这与设置IP白名单在概念上有所不同。但是它也可以实现限制连接MySQL服务器。

打开配置文件,并找到[mysqld]段落,在该段落中添加如下配置:

# bind-address=ip地址
bind-address=0.0.0.0

bind-address的作用:

bind-address选项用于指定MySQL服务器绑定的IP地址。当MySQL服务器启动时,它会监听这个地址上的端口(默认是3306),以便接受来自客户端的连接请求。

  • 默认值:如果bind-address没有被设置,或者设置为0.0.0.0(对于IPv4)或::(对于IPv6),MySQL服务器将监听所有可用的网络接口上的端口。这意味着来自任何IP地址的客户端都可以尝试连接到MySQL服务器(当然,还需要考虑操作系统的防火墙规则、MySQL的用户权限设置等其他安全因素)。
  • 指定IP地址:如果你将bind-address设置为一个具体的IP地址(如192.168.1.100),MySQL服务器将只监听该IP地址上的端口。这通常用于多网卡或多IP地址的服务器环境,允许你限制MySQL服务器只在特定的网络接口上监听连接请求。

注意:bind-address选项不支持直接设置多个值来监听多个IP地址。如果你希望MySQL服务器能够监听多个IP地址,可以不设置bind-address或设置为0.0.0.0。这也是最常见的做法。

总结: bind-address是MySQL配置文件中用于指定服务器监听IP地址的选项,它可以在一定程度上限制MySQL服务器的网络可见性。然而,要实现真正的IP白名单功能,还需要结合使用操作系统的防火墙规则、MySQL的用户权限设置以及其他安全措施。

二、授权用户访问权限

在MySQL数据库中,使用 mysql库的user表主要用于管理用户权限,但它也可以与host列结合使用来限制访问。

我们可以在创建MySQL用户时指定特定的主机名或IP地址,只有从这些主机或IP地址发起的连接才能成功。

注意:这种方法并不适用于动态IP地址或IP地址范围较大的情况,因为它需要为每个IP地址或IP地址段单独设置用户。切换到 mysql库操作。

1、新建用户

CREATE USER 'charge1'@'localhost'  IDENTIFIED BY 'charge123';
CREATE USER 'charge2'@'192.168.2.243'  IDENTIFIED BY 'charge123';

格式:‘用户名’@‘登录IP或域名’。%表示没有限制,在任何主机都可以登录。比如:‘charge’@‘192.168.0.%’,表示charge这个用户只能在192.168.0 IP段登录。

注意:新建好用户,就可以连接数据库,但是如果想操作数据库,必须进行下面的授权才能操作数据库。

2、给用户授权

# 全局权限:
GRANT ALL PRIVILEGES ON  *.* TO 'charge1'@'localhost';

3、刷新权限

任何权限更改或新用户添加之后,都需要刷新权限,确保更改立即生效。

FLUSH PRIVILEGES;

4、测试

(1)用户连接数据库时,主机必须要和用户的ip一致。

在这里插入图片描述
(2)必须给用户授权之后,才能操作数据库

  • charge1用户可以正常操作。
  • chager2用户不可以正常操作,因为没有授权。

在这里插入图片描述

– 求知若饥,虚心若愚。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/45808.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++】C++中SDKDDKVer.h和WinSDKVer.h函数库详解

目录 一.SDKDDKVer.h介绍 二.WinSDKVer.h介绍 三.WinSDKVer.h 和 SDKDDKVer.h 的区别 一.SDKDDKVer.h介绍 SDKDDKVer.h 是一个在 Windows 软件开发中常见的头文件,它用于定义软件开发工具包(SDK)和驱动开发工具包(DDK&…

【触摸屏】【地震知识宣传系统】功能模块:视频 + 知识问答

项目背景 鉴于地震知识的普及对于提升公众防灾减灾意识的重要性,客户希望开发一套互动性强、易于理解的地震学习系统,面向公众、学生及专业人员进行地震知识教育与应急技能培训。 产品功能 系统风格:严谨的设计风格和准确的信息呈现&#…

获取 GPU 使用率最低的 CUDA 设备

获取 GPU 使用率最低的 CUDA 设备 要获取 GPU 使用率最低的 CUDA 设备,我们可以使用 Python 结合 NVIDIA 的 pynvml 库。这个库允许我们访问 NVIDIA GPU 的各种信息,包括使用率。下面是一个实现这个功能的 Python 脚本: import pynvmldef ge…

红酒的艺术之旅:品味、鉴赏与生活的整合

在繁忙的都市生活中,红酒如同一道不同的风景线,将品味、鉴赏与日常生活巧妙地整合在一起。它不仅仅是一种饮品,更是一种艺术,一种生活的态度。今天,就让我们一起踏上这趟红酒的艺术之旅,探寻雷盛红酒如何以…

Android12 persist.sys.usb.config值更新

adb的相关控制 在android 4.0 之后,adb 的控制统一使用了persist.sys.usb.config来控制,而这个persist.sys.usb.config 中的adb是根据ro.debuggable 1 or 0 来设置,1 就是开启adb, 0 即关闭adb debug. 有两个地方影响 build/tools/post_pr…

【qt】如何读取文件并拆分信息?

需要用到QTextStream类 还有QFile类 对于文件的读取操作我们可以统一记下如下操作: 就这三板斧 获取到文件名用文件名初始化文件对象用文件对象初始化文本流 接下来就是打开文件了 用open()来打开文件 用readLine()来读取行数据 用atEnd()来判断是否读到结尾 用split()来获取…

02. Hibernate 初体验之持久化对象

1. 前言 本节课程让我们一起体验 Hibernate 的魅力!编写第一个基于 Hibernate 的实例程序。 在本节课程中,你将学到 : Hibernate 的版本发展史;持久化对象的特点。 为了更好地讲解这个内容,这个初体验案例分上下 2…

go-高效处理应用程序数据

一、背景 大型的应用程序为了后期的排障、运营等,会将一些请求、日志、性能指标等数据保存到存储系统中。为了满足这些需求,我们需要进行数据采集,将数据高效的传输到存储系统 二、问题 采集服务仅仅针对某个需求开发,需要修改…

防火墙小试——部分(书接上回)

toop接上回 1.实验拓扑及要求 前情回顾 DMZ区内的服务器,办公区仅能在办公时间内(9:00 - 18:00)可以访问,生产区的设备全天可以访问. 生产区不允许访问互联网,办公区和游客区允许访问互联网 …

C#统一委托Func与Action

C#在System命名空间下提供两个委托Action和Func,这两个委托最多提供16个参数,基本上可以满足所有自定义事件所需的委托类型。几乎所有的 事件 都可以使用这两个内置的委托Action和Func进行处理。 Action委托: Action定义提供0~16个参数&…

使用亮数据代理IP+Python爬虫批量爬取招聘信息训练面试类AI智能体

本文目录 一、引言二、开发准备三、代码开发四、使用亮数据进行高效爬取4.1 为什么需要亮数据4.2 如何使用亮数据 五、使用数据训练AI智能体六、 总结 一、引言 在当今AI迅速发展的时代,招聘市场正经历着前所未有的变革。传统的招聘方式已难以满足双方的需求。AI智…

ShardingSphere-JDBC —— 整合 mybatis-plus,调用批量方法执行更新操作扫所有分表问题

文章目录 过程及问题描述原因及方案 记录下 ShardingSphere 整合 mybatis-plus 进行批量更新时扫所有分表问题的原因及解决方案。ShardingSphere 整合 mybatis-plus 与整合 mybatis 流程是一样的,一个是导入 mybatis 包,一个是导入 mybatis-plus 包&…

canvas快速入门(一)canvas的基础使用

注释很详细&#xff0c;直接上代码 新增内容&#xff1a; 1. canvas的两种创建方式及优劣 2. canvas宽高设置及注意事项 3. 简单测例 项目结构&#xff1a; 源码&#xff1a; index.html <!DOCTYPE html> <html lang"en"> <head><meta charset…

7.7 CyclicBarrier

CyclicBarrier 循环栅栏&#xff0c;用来进行线程协作&#xff0c;等待线程满足某个计数。构造时设置【计数个数】。每个线程执行到某个需要“同步”的时刻调用 await() 方法进行等待&#xff0c;当等待的线程数满足【计数个数】时&#xff0c;继续执行。 Slf4j(topic "…

MySQL学习记录 —— 십구 命令执行

文章目录 1、mysql客户端命令2、从.sql文件执行SQL语句 1、mysql客户端命令 使用mysql时&#xff0c;命令行要以分号或者\g&#xff0c;\G来结束。 mysql客户端的很多命令可以在之前的mysql博客中查看。另外的用help或\h命令来查看。本篇写一些之前没有提到过的。 命令结束符…

先天睡功-守一老师

描述 守一老师&#xff0c;一个富有才华的老师&#xff01; 对于大家的学习有不可多得的帮助。 内容 目前主要的内容以睡觉为主&#xff0c;对于学习睡睡觉有比较大的帮助&#xff01; 但是网络上面错综复杂&#xff0c;很多老旧的版本影响学习&#xff01; 而这里我整理了…

安全防御实验2

一、实验拓扑 二、实验要求 办公区设备可以通过电信链路和移动链路上网(多对多的NAT&#xff0c;并且需要保留一个公网IP不能用来转换)分公司设备可以通过总公司的移动链路和电信链路访问到Dmz区的http服务器多出口环境基于带宽比例进行选路&#xff0c;但是&#xff0c;办公区…

数据建设实践之大数平台(六)安装spark

安装spark 上传安装包到/opt/software目录并解压 [bigdatanode101 software]$ tar -xvf spark-3.3.1-bin-hadoop3.tgz -C /opt/services/ [bigdatanode101 software]$ tar -xvf spark-3.3.1-bin-without-hadoop.tgz -C /opt/services/ 重命名文件 [bigdatanode101 servic…

OZON夏季热卖产品有哪些,OZON夏季热卖新品

OZON平台在夏季的热卖产品种类繁多&#xff0c;涵盖了多个领域&#xff0c;主要包括但不限于以下几个方面&#xff0c;接下来看看OZON夏季热卖产品有哪些&#xff0c;OZON夏季热卖新品&#xff01;Top1 运动套装 Костюм спортивный Victorias Secret 商品id…

c++课后作业

把字符串转换为整数 int main() {char pn[21];cout << "请输入一个由数字组成的字符串&#xff1a; ";cin >> pn;int last 0;int res[10];int j strlen(pn);int idx 2;cout << "请选择&#xff08;2-二进制&#xff0c;10-十进制&#xf…