1

我在 CentOS Linux 上安装了 Mysql 5.6 默认情况下它设置 SQl 模式严格

选择@@GLOBAL.sql_mode;
+--------------------------------------------+
| @@GLOBAL.sql_mode |
+--------------------------------------------+
| STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |

 选择@@SESSION.sql_mode;
+--------------------------------------------+
| @@SESSION.sql_mode |
+--------------------------------------------+
| STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |
+--------------------------------------------+

我通过命令行将 sql_mode 从 root 用户更改为 none 通过命令

设置会话 sql_mode = '';
设置全局 sql_mode = '';

在此之后我执行了命令上面的命令,它们显示了

选择@@SESSION.sql_mode;
+--------------------+
| @@SESSION.sql_mode |
+--------------------+
| |
+--------------------+
一组中的 1 行(0.00 秒)

mysql> 选择 @@GLOBAL.sql_mode;
+-------------------+
| @@GLOBAL.sql_mode |
+-------------------+
| |
+-------------------+
一组中的 1 行(0.00 秒)

但是当我重新启动 Mysql Server 时,我再次设置了严格模式,即

选择@@GLOBAL.sql_mode;
+--------------------------------------------+
| @@GLOBAL.sql_mode |
+--------------------------------------------+
| STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |

 选择@@SESSION.sql_mode;
+--------------------------------------------+
| @@SESSION.sql_mode |
+--------------------------------------------+
| STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |
+--------------------------------------------+

我还在 my.cnf 文件中添加了 mysql-mode="" 但重新启动 mysql 后结果相同

4

3 回答 3

3

添加你的 my.cnf 文件:

sql_mode = ""

然后重启mysql

这是它的样子:

user        = nobody
port        = 3306
socket      = /opt/lampp/var/mysql/mysql.sock
skip-external-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
open_files_limit = 50k
sql_mode = ""
于 2013-05-17T07:49:06.257 回答
1

我遇到了同样的问题,这就是我的工作:

编辑 /etc/mysql/my.cnf

并添加以下内容

[mysqld] 

sql-mode=""

您还可以查看文档:https ://dev.mysql.com/doc/refman/5.6/en/sql-mode.html

于 2020-05-18T07:12:58.890 回答
0

请注意,在 Centos 中,您需要执行以下步骤:

  1. 登录到根
  2. 单击 SQL 服务,然后选择 MySQL 配置
  3. 它将打开配置文件
  4. 在该文件的末尾添加以下内容: sql_mode="" (not sql-mode="")
  5. 返回仪表板并尝试重新启动右下角可用的 MySQL 数据库服务器。
  6. 如果配置文件有任何错误,它会抛出一个错误,返回并相应地修复错误。

如果你想在命令模式下测试这个,可以这样使用: service mysqld restart

并确保它以绿色字母显示 OK。

于 2021-06-08T07:02:29.390 回答