mysql语句详解(详解记录MySQL中lower_case_table_names的坑)
类别:数据库 浏览量:373
时间:2021-10-22 07:52:31 mysql语句详解
详解记录MySQL中lower_case_table_names的坑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内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
原文链接:https://juejin.cn/post/6936167942329466893
标签:mysql
您可能感兴趣
- mysql死锁是什么原因(MySQL的MaxIdleConns不合理,会变成短连接的原因)
- mysql 日期和时间处理函数(MySQL日期与时间函数的使用汇总)
- mysql高级变量查询(MySQL 使用自定义变量进行查询优化)
- mysql总是报错error(MySQL 5.6主从报错的实战记录)
- MYSQL中GROUP BY不包含所有的非聚合字段时的注意事项
- mysql优化方案最新(记一次MySQL的优化案例)
- linux安装nacos教程(Nacos配置MySQL8的方法)
- mysql 自定义排序
- mysql并发查询优化(详解MySQL 联合查询优化机制)
- python 数据库实现学生管理系统(python+mysql实现教务管理系统)
- docker创建mysql环境(docker上部署MySQL的示例)
- mysql时间存储如何选择(MySQL如何使用时间作为判断条件)
- cent os7.0 安装mysql(mysql8.0.23 linuxcentos7安装完整超详细教程)
- mysql批量生成uuid(一种简单的ID生成策略: Mysql表生成全局唯一ID的实现)
- navicat连接报错10038(解决Navicat for Mysql连接报错1251的问题连接失败)
- mysql中默认排序教程(基于mysql 默认排序规则的坑)
- 《无敌破坏王2》 不聊彩蛋,聊聊我从动画里看到的现实那些事儿(无敌破坏王2不聊彩蛋)
- 《寄生虫》 三观不正 人类悲欢从来不相通,感同身受也并非本能(寄生虫三观不正)
- 这部动漫中的女孩子,可比101女孩更加励志(这部动漫中的女孩子)
- 《白狐的人生》热拍 贾征宇偶像包袱难自弃 图(白狐的人生热拍)
- 七夕取消了,牛郎织女没做核酸七夕已经取消(牛郎织女没做核酸七夕已经取消)
- 网友抵制 多地取消 夏日祭 为何惹众怒(网友抵制多地取消)
热门推荐
- jquery隐藏动画教程(jquery插件实现鼠标隐藏)
- thinkphp框架切换数据库(ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例)
- jQuery实现tab切换
- mysql binlog日志位置(开启MySQL的binlog日志的方法步骤)
- 定时删除linux日志(Linux使用shell脚本定时删除历史日志文件)
- html5代码之翻页(HTML5实现直播间评论滚动效果的代码)
- python爬网验证码在哪里(详解python 爬取12306验证码)
- dedecms的简单说明(dedecms中英文网站之中英文搜索结果实现方法)
- idea向数据库中插入中文报错(Idea连接MySQL数据库出现中文乱码的问题)
- 怎么知道sqlyog连接的哪个mysql(SQLyog连接MySQL8.0报2058错误的完美解决方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9