MySQL配置文件my.conf中连字符(-)与下划线(_)是否等效?
MySQL配置项中连字符(-)与下划线(_)的差异说明
- 功能完全等价:MySQL的配置解析机制会自动把配置项里的连字符(-)转换成下划线(_),所以
log-bin和log_bin这两种写法没有任何功能差异,最终都会被识别为同一个配置参数。 - 实例验证:不管你写
log-bin = /var/log/mysql/mysql-bin.log还是log_bin = /var/log/mysql/mysql-bin.log,MySQL执行的效果完全一致,都会开启二进制日志并指定到对应的路径。 - 设计逻辑:这么做是为了兼容不同用户的书写习惯,避免因为符号使用不一致导致配置不生效的问题。MySQL内部的参数名本质上都是用下划线分隔的,配置解析时只是做了一层自动转换。
- 建议规范:虽然混用不会报错,但还是建议在配置文件里保持统一的符号风格,要么全用连字符,要么全用下划线,这样能让配置文件更易读、好维护。
内容的提问来源于stack exchange,提问作者sheng yan
相关产品推荐
相关产品推荐

