mysql 与 pg 的网卡监听参数

先说一下这个监听是干什么的,以mysql为例子,就是通过其他设备链接mysql服务的时候,mysql所在的服务器是可能有多个网卡的,也就是会有多个ip,bind-address就是用来限制只能通过哪个网卡来连接这个mysql服务

如,你设置了bind-address = 127.0.0.1,那么比如用mysql命令去连接

mysql -h 127.0.0.1 -u username -ppassword -P 3306 -D dbname

你的-h参数只能是127.0.0.1,当然对于这个ip可以不写这个参数

bind-address = 192.168.1.123

就只能是

mysql -h 192.168.1.123 -u username -ppassword -P 3306 -D dbname

才可以连接

ok,正文来了

mysql

bash 复制代码
​
[mysqld]
# 只允许本机连接
bind-address = 127.0.0.1

​
bash 复制代码
[mysqld]
# 允许所有连接
bind-address = 0.0.0.0
bash 复制代码
[mysqld]
# 只监听特定IP
bind-address = 192.168.1.100

为什么写三遍?因为只允许监听一个ip

假设服务器有三块网卡:

  • 127.0.0.1(本地)

  • 192.168.1.100(内网)

  • 172.16.0.100(另一内网段)

如果你想让MySQL同时监听两个内网IP,但不想监听公网IP:
不行,MySQL参数不支持这样。只能:

  1. 用0.0.0.0监听所有(包括不想监听的)

  2. 或者用防火墙规则限制访问来源IP

  3. 或者使用改变mysql的用户权限,来限制允许的用户ip,说白了就是黑白名单,这个后面会细说

验证

bash 复制代码
netstat -anp | grep 3306

# 或

ss -lntp | grep 3306

(有空再总结一下这些命令吧QWQ,有些不常用的东西还是容易忘记的,小QQ)

然后再补充一下,用sql怎么查询这个参数

sql 复制代码
SHOW VARIABLES LIKE 'bind_address';

SHOW GLOBAL VARIABLES WHERE Variable_name = 'bind_address';

然后还有这两个

sql 复制代码
# 5.7往上
SELECT * FROM performance_schema.global_variables 
WHERE variable_name = 'bind_address';
# 往下
SELECT * FROM information_schema.global_variables
WHERE variable_name = 'bind_address';

最后是配置位置

复制代码
/etc/my.cnf
/etc/mysql/my.cnf
/usr/local/mysql/etc/my.cnf

pg

/var/lib/postgresql/data/postgresql.conf

bash 复制代码
echo "listen_addresses = 'localhost'" >> /var/lib/postgresql/data/postgresql.conf

类似这样既可以了

详细的跟mysql一样,但是有一个小重点

pg允许多个监听,可以改成这

bash 复制代码
listen_addresses = 'localhost, 192.168.1.100'
相关推荐
高级程序源6 小时前
django校园寻物通失物招领平台32261-计算机课程设计、毕业设计
vue.js·python·mysql·小程序·django·flask·课程设计
KIDULT°6 小时前
MySQL系列 (1):数据库原理
运维·数据库·mysql·云计算
我不是程序员三三7 小时前
透明加密软件偶发解密异常排错实录:文件时能打开时乱码
数据库·域智盾
snhna7 小时前
向量数据库深度实战:从 HNSW 到 pgvector、Milvus 选型与 RAG 落地
数据库·人工智能·python·postgresql·milvus
天行健,君子而铎7 小时前
数据分类分级的范式转换:从规则匹配到场景化高准确率一键部署
网络·数据库·安全
牛战士coding8 小时前
MySQL 读写分离完整链路:主从复制、多数据源与 @DS 路由
数据库·mysql
goehou9 小时前
MCP 查数实战:让 LLM 安全地查数据库(只读账号、SQL 校验、参数漂移)
数据库·ai·llm·教程·mcp·function calling
我不会插花弄玉9 小时前
7.函数【由浅入深-MySQL】
android·数据库·mysql
周小董9 小时前
[1369]Windows上安装PostgreSQL
数据库·windows·postgresql
一只积极向上的小咸鱼11 小时前
第一性原理思考:从拆解问题到用实验检验答案
数据库