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

Linux MySQL 8.0.29 忽略表名大小写配置

Linux MySQL 8.0.29 忽略表名大小写配置

  • 问题背景
  • 解决方案
  • 遇到的问题:

问题背景

突然发现有个大写的表报不存在。
在Windows上,MySQL是默认支持忽略大小写的。
在这里插入图片描述
这个时候你要查询一下是不是没有配置:

SHOW VARIABLES LIKE 'lower_case_table_names';

如果是0,说明没有配置,具体配置:

[mysqld]
lower_case_table_names=1  # 设置表名不区分大小写

但是,一直重启失败。。。
在这里插入图片描述
说明我们的MySQL太新了。
那下面的解决方案也许适合你。

解决方案

MySQL 8.0.17之后,如果数据目录已经存在(就是你已经初始化msyql了),那就凉凉了,需要删除所有数据重新初始化。

# 1、备份所有数据库(必须要,不然数据全部没有了!!!)
mysqldump -u root -p --all-databases > all-databases-backup.sql

# 2、删除旧数据目录
sudo rm -rf /var/lib/mysql/  # 默认路径,根据实际安装目录调整

# 3、重新初始化 MySQL
sudo mysqld --initialize --user=mysql --lower-case-table-names=1

# 4、设置 root 密码
sudo grep 'temporary password' /var/log/mysqld.log  # 获取临时密码,根据实际安装目录调整

# 5、登录MySQL
mysql -u root -p

# 6、修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';

# 7、导入备份的数据库
mysql -u root -p < all-databases-backup.sql

遇到的问题:

mysqldump: Got error: 1045: Access denied for user ‘root’@‘localhost’ (using password: YES) when trying to connect
在执行第一步备份的时候,说明你的密码错了。

重新设置一下密码即可:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxx';

相关文章:

  • 深入理解 DOM 和 CSSOM:网页渲染的核心
  • PAT甲级 1017 Queueing at Bank
  • easyexcel和poi同时存在版本问题,使用easyexcel导出excel设置日期格式
  • ZJYYC2510. 蓝红球
  • 财务运营域——营收稽核系统设计
  • 内存对齐的原因和规则
  • C++中,运算符重载,+,-,*,/,=,+=,[]的使用
  • 利用Ai对生成的测试用例进行用例评审
  • Spring MVC 与 Spring Boot:从“手动挡”到“自动驾驶”的进化论,兼谈前后端分离的哲学
  • 单机上使用docker搭建minio集群
  • 3分钟快速本地部署deepseek
  • 网站快速收录:如何优化网站内部搜索功能?
  • Python学习总结
  • 【量化策略】双均线交叉策略
  • transformer架构嵌入层位置编码之RoPE旋转位置编码及简单实现示例
  • python读取sqlite温度数据,并画出折线图
  • 自己的百科词条能删掉吗?个人如何删除自己的百科词条?
  • 电动机能耗制动控制电路
  • SVM 支持向量机
  • Java笔记18
  • 无畏契约新王诞生:属于电竞世界的凯泽斯劳滕奇迹
  • 谢承祥已任自然资源部总工程师
  • 大众、学术和政治三重框架下的“汉末之变”
  • 解放日报头版:上海张江模力社区托举“年轻的事业”
  • 五一假期旅游大市党政领导靠前调度,重视解决游客反映的问题
  • 贵州赤水一处岩体崩塌致4车受损,连夜抢修后已恢复通车