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用户变量与set语句示例详解)
- mysql not exists用法(mysql中EXISTS和IN的使用方法比较)
- mysql 5.5.27 winx64安装配置方法图文教程(mysql 5.5.27 winx64安装配置方法图文教程)
- mysql日期与时间函数(MySQL日期函数与时间函数汇总MySQL 5.X)
- mysql事务特性的主要作用(详解MySQL中事务的持久性实现原理)
- mysqldecimal类型转换(mysql中decimal数据类型小数位填充问题详解)
- innodb和myisam(Mysql InnoDB和MyISAM区别原理解析)
- 怎么看mysql有没有外键约束(MySQL外键约束的实例讲解)
- mysql dateformat(MySQL的DATE_FORMAT函数的使用)
- mysql利用数据库日志恢复数据(MySQL通过binlog恢复数据)
- mysql统计下个月过生日的人数(Mysql出生日期转换为年龄并分组统计人数的方法示例)
- rabbitmq客户端内存占用(mysql-canal-rabbitmq 安装部署超详细教程)
- mysql建立分区表指令(MySQL高级特性——数据表分区的概念及机制详解)
- mysql创建数据库基本指令(MySql 新建用户与数据库的实际操作步骤)
- mysql哪些配置影响性能
- mysql的uuid说明(MySQL GTID全面总结)
- 收藏 春节假期,这些景区巨划算(收藏春节假期这些景区巨划算)
- 景区游玩,这些安全知识要牢记(这些安全知识要牢记)
- 各地出招烘 热 旅游(各地出招烘热旅游)
- 2021款起亚霸锐到店了 更换车标,竞争宝马X5有戏吗(2021款起亚霸锐到店了)
- 新款起亚霸锐实拍,比普拉多气派,配3.0T V6,引入国内或许能大卖(新款起亚霸锐实拍)
- ()
热门推荐
- 数据库备份时需要注意的事情
- matplotlib中plot颜色控制(matplotlib实现区域颜色填充)
- mysql的存储方法(MySQL中的binary类型使用操作)
- wamp系统设置教程(浅谈本地WAMP环境的搭建)
- docker安装nginx如何配置(docker部署nginx并且挂载文件夹和文件操作)
- 自建FTP服务器并远程外网访问,花生棒自带端口映射3步搞定(自建FTP服务器并远程外网访问,花生棒自带端口映射3步搞定)
- php 与asp对比(asp.net和php的区别点总结)
- docker无法访问宿主机ip(解决Mac下 docker 无法 ping 通宿主机的问题)
- vue2和vue3都如何创建项目(vue3.0+vite2实现动态异步组件懒加载)
- python3web编程基础教程(python初学者,用python实现基本的学生管理系统python3代码实例)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9