MySQL 配置:何时使用连字符以及何时使用下划线
Posted
技术标签:
【中文标题】MySQL 配置:何时使用连字符以及何时使用下划线【英文标题】:MySQL configuration: when to use hyphen and when to use underscore 【发布时间】:2011-12-05 21:20:22 【问题描述】:在 mysql 中,一些配置选项使用_
,一些使用-
。有什么方法可以轻松确定何时使用一种与另一种?
【问题讨论】:
当您要更改配置选项时,您肯定已经将其放在眼前,不是吗?不确定这会有什么意义? 使用下划线 (_) 以免混淆 MySQL 服务器的命令行标志。 @Pekka 至少,如果每个选项都遵循独特的模式,那会很有帮助,同意吗? 【参考方案1】:没有。
这只是一个团队设计产品时发生的事情之一。 使用不同的约定会导致不一致。
请看这里:http://dev.mysql.com/doc/refman/5.5/en/mysqld-option-tables.html
滚动到以ssl
开头的选项,您就会明白我的意思了。
【讨论】:
在文档中甚至不一致:在Time Zones 我们找到default-time-zone
和default_time_zone
。两者都要吗?它会同时包含在配置文件和命令行中吗?如果没有,它会发出警告还是默默地忽略?这在很多方面都是草率的,并导致不必要的混乱。我记得大约 20 年前记录了一个错误来修复这个问题。咕噜。
测试显示,从配置文件读取时,下划线和虚线选项都有效,未知选项将导致服务器无法启动。 default_time_zone
、default_time-zone
、default-time-zone
都被识别。 (MariaDB 10.2.13) 太好了!。【参考方案2】:
根据the mysql bug report讨论mysql文档混乱状态的建议:
my.cnf
和命令行选项可以使用_
或-
在选项名称中。 服务器变量是_
仅在工作时 使用 MySQL 客户端(例如从 SET 修改)。
总之,您可以在配置文件中交替使用_
和-
。
【讨论】:
以上是关于MySQL 配置:何时使用连字符以及何时使用下划线的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 迁移字符串(MySQL VarChar)与文本 - 何时使用它们?它们有何不同?