在 mysql 中使用 TCP/IP 上的 Unix 套接字有什么合法的理由吗?

2024-04-15

我试图弄清楚为什么 mysql 默认使用 Unix 套接字(/tmp/mysql.sock),而不是普通的 TCP/IP 套接字。

这看起来不像是一个安全问题,因为你只能在 127.0.0.1 上监听,这应该同样安全(套接字文件是世界上可写的,所以你不会获得基于 Unix 帐户的保护)。

当然,所有操作系统都非常依赖高性能 TCP/IP,以至于它不会比 Unix 套接字慢得多 - Linux 即使对于网络流量也能执行各种零复制技巧,因此它的环回速度肯定必须很快。

那么这里使用 Unix 套接字有什么正当理由吗,还是只是一些奇怪的历史事故?


虽然在访问本地主机时不会访问整个 IP 堆栈,但您仍然会访问其中的很大一部分。 Unix 套接字本质上只是一个 2 路管道。它更快更轻。

Unix 套接字还允许您在不管理防火墙规则的情况下控制访问,因为可以通过文件系统权限授予访问权限。

unix 套接字提供的另一项功能是将文件描述符从一个进程传递到另一个进程的能力。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 mysql 中使用 TCP/IP 上的 Unix 套接字有什么合法的理由吗? 的相关文章

随机推荐

  • UWP 中的串行设备通信问题

    我有一个特殊的问题 我正在尝试与 UWP 项目中需要串行通信的外围单元进行通信 我在用Windows Devices SerialCommunication 为了演示目的 我创建了一个新页面 其中有两个按钮 以及两个不同的单击处理程序 一个
  • Google 云存储 - 权限不足

    这个问题似乎与另一篇文章相似 但对我来说不同 因为我检查了testIamPermission 回报显示我获得了所需的所有许可并且仍然收到权限不足 这是我收到的 storage buckets get true storage buckets
  • 从抽象父类调用通用类型列表上的方法

    这是我当前的类型层次结构 我正在尝试实现一种方法PlaneRegion这将调用一个名为的方法Shift 在其派生类的列表上 其中该列表在所有列表中都称为 PlaneBoundaries 但它们具有不同的类型 like so public a
  • 如何在 Tensorflow 2.0 中使用嵌入投影仪

    随着 tf contrib 模块从 Tensorflow 中消失 并且 tf train Saver 也消失 我无法找到一种方法来存储一组嵌入及其相应的缩略图 以便 Tensorboard Projector 可以读取它们 The 张量板文
  • 与编程语言/API 相关的常用“语义”的简单定义?

    今天我突然想到 虽然我在提到语言元素和命名约定时已经采用并且不经常使用 语义 一词 但我对正式定义没有任何感觉 我试图在编程领域找到一个正式的定义 http en wikipedia org wiki Formal semantics of
  • 为什么鼠标滚轮事件的目标属性与其他(click、mousedown、touchstart)事件的目标属性不同?

    鼠标滚轮事件target属性提供在操作鼠标滚轮 或支持手势的触摸板 时鼠标当前悬停在其上的 DOM 元素 当我这样做时 至少在 Safari 6 中 我稍后会测试其他浏览器 我将得到文本节点本身target 即使我直接在文本上执行操作 其他
  • 首先是 DDD 数据库。如何处理聚合

    我正在尝试学习 DDD 的概念 我做了一个项目 我使用数据库优先方法 在基础设施中 我添加了一个 edmx 文件 我选择自动生成实体 现在在 域 中我正在尝试创建聚合 但在这里我遇到了一些问题 我正在尝试创建一个名为 User 的聚合 但
  • 如何为这个业务逻辑代码编写可靠的单元测试?

    我有一些想要测试的业务逻辑代码 目前我只知道如何对没有其他依赖项的逻辑代码编写单元测试 有人能给我指出如何测试这个函数的好方向吗 也许可以举个例子 测试这个的唯一方法是集成测试还是我必须使用模拟 存根
  • 安装旧版本的 gcc [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想在我的 Ubuntu 64 位系统上安装 gcc 4 1 2 该系统当前有 gcc 4 4 我想继续使用当前的 gcc 但也想添加 gcc 4 1
  • Swagger - 时间戳奇怪的表示

    我有 Spring Boot 控制器 为了方便 API 参考 我使用了 Swagger 关于问题timestamp 为什么在生成的文档示例中看起来像 timestamp date 0 day 0 hours 0 minutes 0 mont
  • UWP 网格填充父窗口

    我们正在进行一个学校项目 但陷入了死胡同 我们正在努力使grid填充整个父窗口 但我们根本无法这样做 This is what the designer shows and how we want it to look And this i
  • 如何从 Twitter Bootstrap 和 Bloodhound 建议中获取 id 和 value?

    选择建议时如何从 typeahead js 获取 id 和 value 我有一个 json 如下 id 1 name paul id 2 name jim id 3 name tom id 4 name medor id 5 name ja
  • Maven jdepend 循环构建失败

    当包循环存在时 有没有办法使用 maven 中的 jdepend 插件来使构建失败 我知道你可以用 ant 很容易地做到这一点 但我还没有弄清楚如何用 Maven 做到这一点 谢谢 杰夫 根据已接受的答案 我改进了性能和日志输出 并将其发布
  • 为什么 CompareTo 这么短地实现?

    考虑以下代码 namespace ConsoleApplication1 class Program static void Main string args Console WriteLine 100 CompareTo 200 prin
  • 如何获取启动进程的命令行

    从 Java 中 是否可以获得包含启动应用程序的所有参数的完整命令行 System getEnv and System getProperties 似乎不包含这些值 其中一些可以从 RuntimeMXBean 获得 通过调用获得Manage
  • Jenkins 管道到 Excel 电子表格

    我有一个每天运行 sql 计数的管道 作为回归测试的一部分 我希望能够将每个构建的结果导出到一个 excel 文档中 在其中可以存储和比较结果 这可能吗 提前致谢 None
  • 解析 JSX 文件以提取 Import 语句的属性

    有一个 jsx 文件 其中包含内容
  • 使用 T-SQL 通过游标导航存储过程的结果

    由于遗留的报告生成系统 我需要使用游标来遍历存储过程的结果集 系统通过打印结果集中每一行的数据来生成报告输出 重构报告系统远远超出了这个问题的范围 据我所知 DECLARE CURSOR 语法要求其源是 SELECT 子句 但是 我需要使用
  • 当前缓冲区的议程视图

    编辑 解决方案很简单 但对于任何可以解释为什么我的方法不起作用的人来说都是 加分 原点 我想要一个 org mode custom command 来显示仅从当前缓冲区创建的议程 以下代码片段显示了我想要的视图类型 setq org age
  • 在 mysql 中使用 TCP/IP 上的 Unix 套接字有什么合法的理由吗?

    我试图弄清楚为什么 mysql 默认使用 Unix 套接字 tmp mysql sock 而不是普通的 TCP IP 套接字 这看起来不像是一个安全问题 因为你只能在 127 0 0 1 上监听 这应该同样安全 套接字文件是世界上可写的 所