当前位置: 首页 > news >正文

mysql 配置引起的报错

由于最近做mysql版本的升级,为了测试兼容性,部署了另一个高版本的mysql服务,测试过程中发现有些问题

(1)一些查询报错,用group by的

sql_mode设置的不同

新实例有个ONLY_FULL_GROUP_BY需要去掉!而且新版本是8*,不支持 NO_AUTO_CREATE_USER这个模式,也需要去掉。

NO_AUTO_CREATE_USER 是一个已废弃的 SQL 模式选项,在早期的 MySQL 版本中用于控制 GRANT 语句的行为。当这个模式被激活时,它会阻止 GRANT 
语句自动创建不存在的用户账户,除非在授予权限的同时也指定了用户的密码。这意味着,如果你尝试为一个尚不存在的用户授予权限,
而且没有提供密码,MySQL 不会自动创建这个用户,而是会失败或者忽略这个请求。例如,如果你执行如下 GRANT 语句:GRANT SELECT ON database.* TO 'newuser'@'localhost';在 NO_AUTO_CREATE_USER 模式下,如果 'newuser'@'localhost' 这个用户之前不存在,并且没有同时提供一个密码,
这个命令将会失败,以防止无意识地创建用户账户。然而,从 MySQL 8.0.11 开始,包括 NO_AUTO_CREATE_USER 在内的几个与账户管理相关的旧特性已被移除,因此在 MySQL 8.0 及以后的版本中,
你不再需要也不应该使用 NO_AUTO_CREATE_USER 这个模式选项。在这些新版本中,如果想要创建用户并授予权限,
必须明确地使用 CREATE USER 语句创建用户,然后再使用 GRANT 语句分配权限,并且在创建用户时提供密码。

(2)插入报错,timestamp类型的字段设置的都是NOT NULL,旧实例插入成功,新实例失败

查了下2个实例对于 explicit_defaults_for_timestamp 这个参数配置不同,旧实例是OFF状态,高版本实例是ON状态,高版本也关闭该配置即可兼容

参考

https://cloud.tencent.com/developer/article/1408102

http://www.dtcms.com/a/546551.html

相关文章:

  • 免费企业自助建站app推广赚佣金
  • 10.29 ArkTS函数
  • 网站建设费用预算模板网络安全服务机构
  • 渐开线花键参数一般是怎么确定的?
  • Unity 将地图分割为可自定义的矩形区域来管理物体的插件
  • php做网站的技术难点大数据营销 全网推广
  • 产品展示型网站建设公司网站设计 上海
  • 【JavaEE初阶】TCP核心机制4——滑动窗口
  • FEMU—NVMe ZNS 核心实现的学习
  • 做结构图的网站云南做网站哪家便宜
  • 甘肃古典建设集团有限公司网站要想让别人网站卖我的东西怎么做
  • 深入理解Java String:不可变性、内存机制与高效操作
  • 仓颉GC调优参数:垃圾回收的精密控制艺术
  • 小学生做网站步骤wordpress 调用媒体库
  • 徐州营销型网站制使做网站广告联盟赚钱
  • 常州网站营销推广免费科技软件
  • 如何使用框架来建设网站常州网站排名优化
  • 网站 网络营销价值雷山网站快速排名
  • Spring Cloud 多租户实现(MySQL + MyBatis + MyBatis-Plus 实战)
  • 专注网站建设与制作网站图片的暗纹是怎么做的
  • 给周杰伦做网站网站做百度推广划算吗
  • k8s——实战入门(资源)
  • 茶叶网站建设策划方案u001f代做毕设自己专门网站
  • 找建设网站网站建设搜索优化app推广新闻营销
  • 山东集团网站建设做网站免费的域名
  • 做平面什么网站的素材不侵权北京公司提供注册地址
  • Linux学习笔记--中断子系统
  • Selenium常用方法
  • 哈尔滨网站建设推广服务人力资源网站
  • screen命令指南