当前位置: 首页 > news >正文

Ubuntu 系统中修改 MySQL 的 sql_mode

在 Ubuntu 系统中修改 MySQL 的 sql_mode 需要编辑 MySQL 的配置文件并重启服务。以下是详细步骤:


步骤 1:定位 MySQL 配置文件

MySQL 配置文件通常位于以下路径之一(具体取决于安装方式):

  • /etc/mysql/my.cnf

  • /etc/mysql/mysql.conf.d/mysqld.cnf (APT 安装的默认路径)

  • /etc/mysql/mysql.conf.d/mysqld_safe_sql_mode.cnf

使用以下命令查找配置文件:

sudo grep -R "sql_mode" /etc/mysql/

步骤 2:编辑配置文件

  1. 使用文本编辑器打开配置文件(以 mysqld.cnf 为例):

    sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
  2. 在 [mysqld] 部分添加 sql_mode

    [mysqld]
    sql_mode = "ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
    • 如果 [mysqld] 已存在其他配置,直接追加这一行。

    • 如果配置文件中已有 sql_mode 行,直接修改它的值。

  3. 保存并退出

    • Nano 编辑器:按 Ctrl+O 保存 → 按 Ctrl+X 退出。

    • Vim 编辑器:按 Esc → 输入 :wq → 回车。


步骤 3:重启 MySQL 服务

sudo systemctl restart mysql

步骤 4:验证修改是否生效

  1. 登录 MySQL

    mysql -u root -p
  2. 查询当前 sql_mode

    SELECT @@sql_mode;

    输出应包含你设置的参数,且不包含 STRICT_TRANS_TABLES 或 NO_ZERO_DATE


常见问题解决

  1. 配置文件未生效

    • 确保修改的是 [mysqld] 部分的配置。

    • 检查是否有多个配置文件冲突(如 my.cnf 覆盖了 mysqld.cnf)。

  2. 权限问题

    • 使用 sudo 编辑配置文件。

    • 重启服务时确保有管理员权限。

  3. 语法错误

    • 检查 sql_mode 值中的逗号和双引号是否使用英文符号。

    • 避免拼写错误(如 ONLY_FULL_GROUP_BY 不要写成 ONLY_FULL_GROUP_BY)。


附加:临时修改 SQL 模式(无需重启)

如果只需临时修改(重启后失效):

-- 当前会话生效
SET SESSION sql_mode = 'ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';-- 全局生效(直到下次重启)
SET GLOBAL sql_mode = 'ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

注意事项

  • 数据一致性风险:关闭严格模式(如 STRICT_TRANS_TABLES)可能导致无效数据被插入,建议优先修复数据或表结构。

  • 多环境同步:如果这是生产服务器,确保开发/测试环境的 sql_mode 配置一致。

通过以上步骤,你可以永久修改 MySQL 的 sql_mode 以屏蔽日期错误问题。

2 / 2

相关文章:

  • C#学习第16天:聊聊反射
  • 编程技能:调试03,逐过程命令与退出调试
  • 【TeamFlow】 1 TeamFlow 去中心化生产协同系统架构
  • RUI电视桌面中文版:下载安装教程及桌面固件包获取全攻略
  • 算法01-最小生成树prim算法
  • 【论文阅读20】-CNN-Attention-BiGRU-滑坡预测
  • Android audio系统六 AudioEffect音效加载
  • Andorid 使用 libphonenumber-android 获取国际电话区号
  • 支持mingw g++14.2 的c++23 功能print的vscode tasks.json生成调试
  • PyTorch 深度学习实战(37):分布式训练(DP/DDP/Deepspeed)实战
  • LeetCode 259 题全解析:Swift 快速找出“满足条件”的三人组
  • 工业安卓主板在智能电子秤设备中的应用
  • Linux服务器配置Anaconda环境、Pytorch库(图文并茂的教程)
  • vscode、cherry studio接入高德mcp服务
  • Pytorch的常规操作
  • 【漫话机器学习系列】209.均值的标准误差(Standard Error of the Mean)
  • centos与ubuntu系统版本介绍
  • yarn的三大组件及各自作用
  • 小白从0学习网站搭建的关键事项和避坑指南(2)
  • Privacy Risks of General-Purpose Language Models
  • 人民日报:外资车企携新车、前沿技术亮相上海车展,坚定信心深耕中国市场
  • 肖扬任武钢集团董事长、党委书记
  • 童书湃|世界读书日:在书里去辽阔的自然里撒个欢
  • 常方舟评《心的表达》|弗洛伊德式精神分析在我们时代的延展
  • 青海玉树州杂多县发生4.6级地震,震源深度10千米
  • 官方披露:定西民政局原局长将收受烟酒高价“倒卖”给单位,用于违规接待