所以我有一個託管在Hostinger的VPS託管計劃2上的網站,它使用MySQL作為資料庫,我的虛擬機器作業系統是Ubuntu 18.04。
我必須strict mode
始終保持 MySQL 全域停用,才能使網站的某些部分正常運作。對於上下文,我目前只管理伺服器端,因此我無法修復網站中需要我停用的部分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 服務以使變更生效。