MySQL 如何在 my.cnf 文件中设置 sql-mode=”NO_ENGINE_SUBSTITUTION” 使其永久生效?

MySQL 如何在 my.cnf 文件中设置 sql-mode=”NO_ENGINE_SUBSTITUTION” 使其永久生效?

阅读更多:MySQL 教程

背景概述

MySQL 是世界上最流行的开源关系型数据库管理系统之一。当我们在 MySQL 中运行查询时,会自动启用一组严格的 SQL 约束,称为 SQL mode。其中一个 SQL mode 选项是 NO_ENGINE_SUBSTITUTION,它用于防止在表引擎不可用时 MySQL 自动替换的情况。

在 MySQL 中永久设置 NO_ENGINE_SUBSTITUTION 会使其在重启 MySQL 服务时生效,而不需要手动设置。

修改 my.cnf 文件

要在 MySQL 中永久设置 NO_ENGINE_SUBSTITUTION,我们需要修改 MySQL 的配置文件 my.cnf,在该文件中添加一行代码:

sql-mode="NO_ENGINE_SUBSTITUTION"

在 Linux 系统中,my.cnf 文件通常位于 /etc/mysql/ 目录下。您可以使用 vi 或其他编辑器打开 my.cnf 文件并添加上述代码,例如

sudo vi /etc/mysql/my.cnf

测试更改

完成上述更改后,需要重新启动 MySQL 服务以使更改生效。您可以使用以下命令:

sudo systemctl restart mysql.service

您还可以使用以下命令检查 MySQL 的 SQL mode 设置是否已更新:

mysql> SHOW VARIABLES LIKE 'sql_mode';

如果您看到 NO_ENGINE_SUBSTITUTION 出现在变量列表中,则说明您的更改已成功生效。

总结

在 MySQL 中永久设置 SQL mode 约束选项,可以通过修改 MySQL 的配置文件 my.cnf 实现。将 sql-mode="NO_ENGINE_SUBSTITUTION" 添加到 my.cnf 文件的末尾即可,然后重新启动 MySQL 服务以使更改生效。在 MySQL 重启后,所有的查询都将自动使用您设置的 SQL mode 约束选项。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程