返回顶部
首页 > 资讯 > 数据库 >详解记录MySQL中lower_case_table_names的坑
  • 386
分享到

详解记录MySQL中lower_case_table_names的坑

MySQLlower_case_table_names 2022-05-14 07:05:35 386人浏览 安东尼
摘要

1 起因 项目迁移数据库, 重新启动后, 报错"T_AAA表不存在", 但数据库中可以查看到该表并有数据 2 问题分析 通过重装系统与数据库, 确认系统与数据库纯净, 排除系统和数据库的原因 使用同一方式恢复两天

1 起因

项目迁移数据库, 重新启动后, 报错"T_AAA表不存在", 但数据库中可以查看到该表并有数据

2 问题分析

通过重装系统与数据库, 确认系统与数据库纯净, 排除系统和数据库的原因
使用同一方式恢复两天前和一天前的数据备份, 同样不能启动项目, 排除数据内容的原因
使用Mysqldump和导出sql文件两种方式, 恢复一天前的数据, 同样不能启动项目, 排除恢复方式的原因

以上方式基本是运维人员参与, 等技术总监参与观察项目报错后, 猛然发现是表名大小写的问题, 通过测试最终确定原因:
使用rpm包安装数据库, 自动初始化时将lower_case_table_names设置为0, 表名大小写敏感, 数据库中为小写, 代码中为大写

3 解决方案

  • 删除已初始化的数据库, 即base_dir, data_dir等
  • 重新初始化数据库, 将lower_case_table_names设置为1
  • 重新恢复备份数据

4 总结

mysql8.0及以上版本, 只能在初始化的时候设置lower-case-table-names参数, 无法通过修改my.cnf实现(在my.cnf中增加配置会报错)

初始化数据库不需要卸载整个MySQL重装, 只需要使用mysqld命令即可

base_dir等用户组应为mysql, linux下命令为:


chown -R mysql.mysql MySQL数据路径(即base_dir)

linux下递归创建目录


mkdir -p mysql/lib/mysql-files

MySQL重新初始化


mysqld -initialize --lower-case-table-names=1

MySQL8.0以上, 需要先创建用户再赋权


create user 'test'@'%' identified by 'test';
-- with option 可以把权限赋予其它用户
grant all privileges on test.* to 'test'@'%' with option;

到此这篇关于详解记录MySQL中lower_case_table_names的坑的文章就介绍到这了,更多相关MySQL lower_case_table_names内容请搜索自学编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持自学编程网!

您可能感兴趣的文档:

--结束END--

本文标题: 详解记录MySQL中lower_case_table_names的坑

本文链接: https://lsjlt.com/news/10190.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 详解记录MySQL中lower_case_table_names的坑
    1 起因 项目迁移数据库, 重新启动后, 报错"T_AAA表不存在", 但数据库中可以查看到该表并有数据 2 问题分析 通过重装系统与数据库, 确认系统与数据库纯净, 排除系统和数据库的原因 使用同一方式恢复两天...
    99+
    2022-05-14
    MySQL lower_case_table_names
  • electron打包中的巨坑解决记录
    目录吐槽问题一:css文件中图片加载失败问题描述解决过程补充问题二:无法使用cookie问题描述原因分析总结吐槽 从上周五到今天,我被electron打包折磨得死去活来,本来想让...
    99+
    2023-03-01
    electron打包坑解决 electron 打包
  • 详解vue-class迁移vite的一次踩坑记录
    目录what happen探究解决总结what happen 最进项目从 vue-cli 迁移到了 vite,因为是 vue2 的项目,使用了 vue-class-component...
    99+
    2024-04-02
  • Java中Objects.equals踩坑记录
    目录前言1. 案发现场2. 判断相等的方法2.1 使用==号2.2 使用equals方法3. 空指针异常4. Objects.equals的作用5. Objects.equals的坑...
    99+
    2024-04-02
  • centos7安装Mysql爬坑记录 - G
    centos7安装Mysql爬坑记录   查看是否已安装 使用下列命令查看是否已经安装过mysql/mariadb/PostgreSQL 如果未安装,不返回任何结果(ECS的centos镜像默认未安装任何数据库) [root@Gw...
    99+
    2021-04-15
    centos7安装Mysql爬坑记录 - G
  • 详解vue-socket.io使用教程与踩坑记录
    目录前言我遇到的问题使用教程安装引入(main.js)使用(Page.vue)解决方案结合connect事件+store+路由守卫实现拦截请先允许我狠狠吐个槽:vue-socket....
    99+
    2024-04-02
  • Springboot@RequestBody注解踩坑记录
    目录@RequestBody注解踩坑@RequestBody json注入Bean属性为空@RequestBody注解的一些注意事项@RequestBody注解踩坑 @Request...
    99+
    2024-04-02
  • MySQL 删除表中的数据记录详解
      目录 前言言 一、删除表中的数据记录? 1.删除特定数据记录 2.删除所有数据记录 总结 前言         删除数据记录是数据操作中常见的操作,可以删除表中已经存在的数据记录。在MySQL中可以通过DELETE语句来删...
    99+
    2023-09-11
    mysql 数据库 sql
  • MySQL中case when对NULL值判断的踩坑记录
    目录前言Mysql中case when语法:案例实战:总结:前言 今天在开发程序中,从MySQL中提取数据的时候,使用到了case when的语法用来做判断,在使用过程中在判断NUL...
    99+
    2024-04-02
  • vue3中vuex与pinia的踩坑笔记记录
    目录介绍安装使用简单对比写法差异与共同点Vuex 和 Pinia 的优缺点何时使用Pinia,何时使用Vuex总结介绍 Pinia 是 Vue.js 的轻量级状态管理库,最近很受欢迎...
    99+
    2024-04-02
  • 记录有关golang中for range中的坑
    本篇文章由golang教程栏目给大家分享一个go语言中有关for range中的坑,如果有遇到相同的问题的朋友,可以参考借鉴一下!谢谢~go 语言 for range 中的坑如果要取指针的话,使用这种方法原因是 for range 循环 只...
    99+
    2023-05-14
    Golang
  • vue2.xbackground:url()的踩坑记录
    目录background:url()的踩坑记录backgroundImage路径问题处理方法background:url()的踩坑记录 开发模式下vue中background: ur...
    99+
    2024-04-02
  • Golang的strings.Split()踩坑记录
    目录背景场景前置排查验证打印底层信息追源码类似情况总结背景 工作中,当我们需要对字符串按照某个字符串切分成字符串数组数时,常用到strings.Split() 最近在使用过程中踩到了...
    99+
    2024-04-02
  • Flutter中关于angle的踩坑记录
    这个问题是我最近做业务开发和业余开发都遇到的,这里的 angle 指的是旋转弧度。不是旋转角度。 先看一下我使用 angle 的场景吧: 图一中使用了 canvas.drawA...
    99+
    2024-04-02
  • 详解element-ui组件el-autocomplete使用踩坑记录
    项目遇到一个比较麻烦的需求,保存用户填写的历史记录,项目使用的element-ui,自然就使用了el-autocomplete组件,然后就是各种踩坑,以下记录以下写代码过程中遇到的问...
    99+
    2024-04-02
  • mybatisplus之Wrappers.ne踩坑记录解决
    目录一段看似平平无奇的代码报了异常将classroom是否为null单独拿出来判断一段看似平平无奇的代码 Classroom classroom = this.getOne( W...
    99+
    2023-05-19
    mybatisplus Wrappers.ne踩坑 mybatisplus Wrappers.ne
  • MySQL中隐式转换的踩坑记录以及解决方法分享
    目录复现当时的情景根源所在隐式转换的规则避免进行隐式转换本来是一个平静而美好的下午,其他部门的同事要一份数据报表临时汇报使用,因为系统目前没有这个维度的功能,所以需要写个SQL马上出一下,一个同事接到这个任务,于是开始在...
    99+
    2024-04-02
  • SpringMVC中文乱码踩坑记录
    目录问题问题根源解决方案方案一方案二问题 使用SpringMVC在返回一个字符串时发生了中文乱码问题。produces属性无效 @RequestMapping(value = "...
    99+
    2024-04-02
  • TypeScript中集成Tween.js踩坑记录
    目录TypeScript集成Tween.js踩坑安装更改配置引用Tween.js的使用方法总结TypeScript集成Tween.js踩坑 首选,采用的是webpack的架构,在ts...
    99+
    2023-01-28
    TypeScript集成Tween.js TypeScript集成Tween.js踩坑 TypeScript Tween.js踩坑
  • MySql Online DDL操作记录详解
    目录一、环境二、执行过程分析三、遇到的问题四、工具尝试五、Online DDL 尝试一、环境 为支持用户账号删除功能,需要在 user 表上加一个字段 deleted。 数据库:mysql5.6 被 操作表 ...
    99+
    2022-12-20
    MySqlOnlineDDL操作 MySqlOnlineDDL
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作