因此,我在 Hostinger 的 VPS 托管计划 2 上托管了一个网站,它使用 MySQL 作为数据库,我的虚拟机的操作系统是 Ubuntu 18.04。
为了让网站的某些部分正常工作,我必须始终全局禁用 MySQL strict mode
。具体来说,我目前只管理服务器端,因此我无法修复需要我禁用的网站部分strict mode
。这些修复由开发人员负责,他们最终会在某个时候处理它们。
现在,我面临的问题是,当我禁用时strict mode
,它会在几个小时(或一天)后自动启用。这是由于 Hostinger 的 VPS 服务器似乎有计划的服务器重启。每当服务器重启时,MySQLstrict mode
都会重新启用。
我该怎么做才能让它strict mode
永久禁用,直到我自己重新打开它?我显然不想每隔几个小时就打开它……:)
编辑:我目前用来set global sql_mode='';
禁用 MySQL strict mode
。
答案1
如果使用以下命令禁用 mysql 严格模式,则服务器重启后它将恢复。
设置全局 sql_mode='';
要永久设置/禁用它,您必须编辑 mysql conf 文件中的值。
/etc/mysql/my.cnf 或者/etc/my.cnf根据您的操作系统。
找到以下行:
sql_mode = "STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
用下面的行替换它:如果找不到该行,请将该行插入 [mysqld] 部分下(如果没有 [mysqld] 部分,请创建它)。
[mysqld]
sql_mode= ""
重新启动 MySQL 服务以使更改生效。