这是 MySQL 的一个 连接识别机制,localhost
和 127.0.0.1
虽然都指本机,但 MySQL 处理方式不同:
区别
关键字 | 连接方式 | 特点 |
---|---|---|
localhost |
Unix socket 文件(如 /var/lib/mysql/mysql.sock ) |
更快,默认 MySQL 本地连接使用 socket,不走 TCP/IP |
127.0.0.1 |
TCP/IP(本地回环网络) | 通过网络协议连接,即使本机也会走 TCP/IP |
为什么很多人用 localhost
-
本地脚本执行备份、巡检等操作时,性能略好(socket 速度比 TCP 快)
-
避免 TCP 端口限制和防火墙影响
-
MySQL 默认创建 root 和其他用户时也经常用
localhost
什么时候用 127.0.0.1
或 %
?
-
27.0.0.1
-
你的脚本或程序通过 TCP 连接 MySQL(比如远程访问工具、某些容器化场景)
-
防止 socket 文件路径不一致导致连接失败
-
-
%
(任意 IP)-
允许从任何 IP 连接
-
安全风险高,不建议在生产环境随便使用
-
总结:
-
localhost
→ 使用 Unix socket,本机访问更快、更安全 -
127.0.0.1
→ 使用 TCP/IP,适合跨容器或网络访问 -
对于你的
backup_user
,本机备份脚本推荐localhost
,不需要 TCP 连接