📜  设置永久 SET GLOBAL sql_mode ubuntu - SQL (1)

📅  最后修改于: 2023-12-03 15:12:08.064000             🧑  作者: Mango

设置永久 sql_mode

Ubuntu 系统中,我们可以通过设置全局 sql_mode 变量来控制 MySQL 数据库的行为。 sql_mode 主要控制着 MySQL 数据库的语法和数据校验规则等方面的内容。

设置全局 sql_mode 变量

为了设置全局 sql_mode 变量,我们需要登录到 MySQL 数据库服务器后,使用以下命令来设置:

SET GLOBAL sql_mode = 'modes';

其中,modes 是一个由逗号分隔的字符串列表,用于定义要启用的 MySQL 数据库模式。

例如,以下命令将开启严格模式和禁止使用 GROUP BY 语句时不使用 HAVING 子句的限制:

SET GLOBAL sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
永久设置全局 sql_mode 变量

如果你希望在重启数据库服务器后仍然保留 sql_mode 变量的设置,那么你需要将它添加到 my.cnf 配置文件中。

  1. 首先,使用以下命令打开 my.cnf 配置文件:

    sudo nano /etc/mysql/my.cnf
    
  2. 将以下行添加到文件的末尾:

    [mysqld]
    sql_mode = modes
    

    请在其中指定你所需的 modes

  3. 保存并退出 my.cnf 文件。

  4. 最后,重新启动 MySQL 服务以使更改生效。

现在,你已经成功地将永久设置全局 sql_mode 变量。