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

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

http://www.xdnf.cn/news/168.html

相关文章:

  • C++ STL编程-vector概念、对象创建
  • Android audio系统六 AudioEffect音效加载
  • 51单片机实验二:数码管静态显示
  • Vue Teleport 及其在 SSR 中的潜在问题
  • leetcode 2364. 统计坏数对的数目 中等
  • 在windows上交叉编译opencv供RK3588使用
  • 嵌入式linux架构理解(宏观理解)6ull学习心得---从架构理解到自写程序运行及自写程序开机自启动
  • #Linux动态大小裁剪以及包大小变大排查思路
  • 淘宝商品图片API安全调用指南:签名生成与错误处理机制
  • 从右到左 vs 从左到右:字符串转整数的两种方式
  • Web 前端包管理工具深度解析:npm、yarn、pnpm 全面对比与实战建议
  • 图+文+语音一体化:多模态合成数据集构建的实战与方法论
  • wordpress 垂直越权(CVE=2021-21389)漏洞复现详细教程
  • PHP腾讯云人脸核身获取FaceId
  • 《AI大模型应知应会100篇》第24篇:限定输出格式:如何让AI回答更加结构化
  • GCD算法的学习
  • 第三阶段面试题
  • Git常用命令分类汇总
  • 如何学习和研究量子计算与量子计算机:从理论到实践的完整路径
  • MySQL+Redis实战教程:从Docker安装部署到自动化备份与数据恢复20250418
  • Qt官方案例知识点总结(图形视图——Colliding Mice)
  • 人脸扫描黑科技:多相机人脸扫描设备,打造你的专属数字分身
  • 学术AI工具推荐
  • 基于WebRTC技术的EasyRTC:支持任意平台设备的实时音视频通信解决方案
  • 科技天眼守望农田:珈和卫星遥感监测赋能智慧农业,护航粮食安全新未来
  • 替代升级VMware | 云轴科技ZStack构建山西证券一云多芯云平台
  • python有序列表
  • Excel提取图片并自动上传到文件服务器(OOS),获取文件链接
  • Docker用model.config部署及更新多个模型
  • 【基础知识补充】标准库类型:string和vector