首页 > 数据库 >mysql8的sql_mode不起作用

mysql8的sql_mode不起作用

时间:2024-03-01 11:11:19浏览次数:29  
标签:配置文件 mysql8 sql cnf mode MySQL my

如果sql_mode似乎没有起作用,可能是由以下几个原因造成的:

  1. 配置文件位置不正确:确保my.ini文件位于MySQL服务器实际读取配置的位置。对于Windows系统,这通常是MySQL安装目录下的bin文件夹。对于Linux系统,它可能位于/etc/mysql//etc/my.cnf~/.my.cnf等位置。

  2. MySQL服务未重启:对my.ini文件所做的任何更改都需要重启MySQL服务才能生效。确保在修改配置文件后已经重启了MySQL服务。

  3. MySQL版本问题ONLY_FULL_GROUP_BY是在MySQL 5.7.5及更高版本中引入的。如果您使用的是早于这个版本的MySQL,only_full_group_by模式将不可用。

  4. 会话级别的SQL模式:即使在全局级别(通过my.inimy.cnf)更改了sql_mode,用户会话也可以覆盖这些设置。确保没有用户会话在运行时更改了SQL模式。

  5. 其他配置文件:MySQL可能会从多个位置读取配置文件,包括/etc/mysql/my.cnf/etc/my.cnfC:\ProgramData\MySQL\MySQL Server X.X\my.ini(Windows)等。确保您修改的是正确的配置文件,并且没有其他配置文件在覆盖您的设置。

  6. 错误的注释:在您的配置中,#sql_mode=... 这一行是被注释掉的,这意味着MySQL不会读取这一行。确保在添加新的sql_mode行时,前面的行是被完全注释掉的,没有额外的空格或字符。

为了验证sql_mode是否已正确设置,您可以登录到MySQL服务器并执行以下命令来检查当前的SQL模式:

SHOW VARIABLES LIKE 'sql_mode';

这将显示当前生效的sql_mode设置。如果ONLY_FULL_GROUP_BY仍然出现在列表中,那么说明sql_mode没有被正确设置。在这种情况下,您应该检查上述提到的可能原因,并确保MySQL服务已经重启。

标签:配置文件,mysql8,sql,cnf,mode,MySQL,my
From: https://www.cnblogs.com/facingscreen/p/18046547

相关文章

  • MySQL 事务
    MySQL事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!在MySQL中只有使用了Innodb数据库引擎的数据库或表才支持事务。事务处......
  • MySQL ALTER命令
    当我们需要修改数据表名或者修改数据表字段时,就需要使用到MySQLALTER命令。开始本章教程前让我们先创建一张表,表名为:testalter_tbl。root@host#mysql-uroot-ppassword;Enterpassword:mysql>useW3CSCHOOL;Databasechangedmysql>createtabletestalter_tbl->......
  • MySQL 索引
    MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。拿汉语字典的目录页(索引)打比方,我们可以按拼音、笔画、偏旁部首等排序的目录(索......
  • MySQL 及 SQL 注入
    如果您通过网页获取用户输入的数据并将其插入一个MySQL数据库,那么就有可能发生SQL注入安全的问题。本章节将为大家介绍如何防止SQL注入,并通过脚本来过滤SQL中注入的字符。所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执......
  • SQL server事务写法 sql server的事务
    sqlserver事务全攻略一事务的属性事务具有ACID属性1、原子性   atomic2、一致性   consistent3、隔离性   isolated4、永久性   durable原子性就是事务应作为一个工作单元,事务处理完成,所有的工作要么都在数据库中保存下来,要么完全回滚,全部不保留一致性事......
  • SQL Server创建视图
    从用户角度来看,一个视图是从一个特定的角度来查看数据库中的数据 。从数据库系统内部来看,一个视图是由SELECT语句组成的查询定义的虚拟表(因为一个视图可以拉动多个表,并汇总数据在一起并将其显示,就好像它是一个单一的表)视图是由一张或多张表中的数据组成的,当你运行视图,会看到......
  • SQL Server服务器角色
    我们登录了一个SQLServer数据库后,必须分配登录的一个或多个服务器角色的选项。注意: 服务器角色(不要与数据库角色混淆)可用来管理服务器上的权限。不是每个人都应该分配给服务器的角色,只有高级用户,如数据库管理员应指定一个服务器角色。 SQLServer查看服务器角色......
  • SQL Server存储过程
    SQLServer中视图通过简单的SELECT查询来解决复杂的查询,但是视图不能提供业务逻辑功能,而存储过程可以办到这点。什么是存储过程?存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行。存储过程中可......
  • SQL Server 数据库模式
    SQLServer中的数据库模式可以帮助确定谁可以对数据库的对象进行访问,也可以作为命名空间,防止来自不同模式的对象名称发生冲突。什么是数据库模式?数据库模式是一种逻辑分组对象,如表,视图,存储过程等。可以指定一个用户登录权限的单一模式,以便用户只能访问他们被授权访问的对象......
  • SQL Server链接服务器
    SQLServer中存在可以链接到其他服务器的选项,一般情况下是用来与别的SQLServer数据库相连接,但是有时候也可以与一个Microsoft Access数据库 相连接。这样的操作是通过链接服务器节点实现的。链接服务器节点可以连接到另一个数据库,通常/通常在不同的机器上运行,也许在不同的......