首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL严格模式卡在

MySQL严格模式卡在
EN

Server Fault用户
提问于 2013-03-06 03:16:05
回答 4查看 16.7K关注 0票数 3

在从Remi( MySQL 6)升级到SQL 5.5之后,我们遇到了一个问题,每次重新引导我们的SQL server都会将自己设置回严格模式:

代码语言:javascript
复制
mysql> SELECT @@GLOBAL.sql_mode;
+--------------------------------------------+
| @@GLOBAL.sql_mode                          |
+--------------------------------------------+
| STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |
+--------------------------------------------+

然后我运行命令:

代码语言:javascript
复制
    mysql> SET GLOBAL sql_mode="";
Query OK, 0 rows affected (0.00 sec)

这对于会话来说很好,但是在重新启动时,这个更改就丢失了(我也尝试过设置"SET会话“sqlmode )。

我还想指出,我也在my.cnf文件中尝试过这一点。

唯一可行的解决方案是编写一个init文件,以便在重启时运行SET GLOBAL sql_mode,但这既麻烦又烦人,而且不合理,因此必须有一种方法使其立即工作。

我尝试过重新安装SQL服务器,但没有结果。(当然,我从备份中提取了数据,因为这是一个生产服务器。)

EN

回答 4

Server Fault用户

回答已采纳

发布于 2013-03-27 16:21:13

这在PerconaServerv5.5.30-30.1-log上也对我不利。

请参阅:http://bugs.mysql.com/bug.php?id=68643

并检查mysql_install_db可能创建的/usr/my.cnf或类似文件($MYSQL_HOME/my.cnf)。

这是在所有其他配置文件中重写我们的sql_mode设置。

票数 10
EN

Server Fault用户

发布于 2013-03-06 15:18:37

将其添加到my.cnf中并重新启动MySQL。确保在那之后没有其他行来覆盖它。

替换sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

使用

sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

有时,添加下面的行也可能有效。先试一试,如果不起作用,就试试这些。

代码语言:javascript
复制
sql-mode=""

代码语言:javascript
复制
sql-mode="TRADITIONAL"
票数 3
EN

Server Fault用户

发布于 2014-12-11 14:57:17

我知道这是旧的,但万一有人需要它:

我是用WindowsServer5.6在Windows7 MySQL上获得这一结果的。

结果它在这里加载了一个my.ini文件:

代码语言:javascript
复制
C:\ProgramData\MySQL\MySQL Server 5.6\my.ini

即使MySQL是从这里安装并运行的:

代码语言:javascript
复制
C:\Program Files\MySQL\MySQL Server 5.6

将ProgramData ini中的sql模式更改为以下内容,然后重新启动MySql解决了这个问题:

代码语言:javascript
复制
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/485091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档