You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Debian 11的MariaDB 10.5中永久设置sql_mode?

解决Debian 11下MariaDB重启后自动添加STRICT_TRANS_TABLES的问题
  • 先登录MariaDB,执行以下命令查看当前生效的sql_mode:

    SELECT @@sql_mode;
    

    把输出内容复制下来,去掉其中的STRICT_TRANS_TABLES,保留其他模式项。

  • 在/etc/mysql/conf.d/目录下新建一个自定义配置文件(文件名以99开头确保最后加载,覆盖默认设置),比如99-custom-sql-mode.cnf:

    sudo nano /etc/mysql/conf.d/99-custom-sql-mode.cnf
    
  • 在文件中添加以下内容,把sql_mode的值替换成你刚才处理后的字符串:

    [mysqld]
    sql_mode = "NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
    

    (注:这里的示例是去掉STRICT_TRANS_TABLES后的常见默认值,实际以你第一步查询到的内容为准,只移除STRICT_TRANS_TABLES即可)

  • 保存文件后,重启MariaDB服务:

    sudo systemctl restart mariadb
    
  • 再次登录MariaDB执行SELECT @@sql_mode;,确认STRICT_TRANS_TABLES已被移除,且重启服务后设置依然生效。

为什么之前找不到相关配置?

Debian 11打包的MariaDB 10.5默认没有在配置文件中显式定义sql_mode,而是使用编译时内置的默认值。因此你在现有配置文件中搜不到sql_mode相关设置,需要手动添加配置来覆盖默认行为。

内容的提问来源于stack exchange,提问作者Chiwda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 01:47:44