【Linux】环境设置MySQL表名忽略大小写

目录

说明

一、摘要

二、查看服务器上MySQL情况

方式一:通过Linux方式

方式二:借助可视化工具(Navicat)

三、MySQL设置忽略表名大小写的参数(lower_case_table_names)

四、网上解决方案

方法一:只修改my.cnf

1.添加lower_case_table_names=1

 2.保存并退出

3.重启MySQL

问题:

方法二:临时设置

1.登录MySQL

2.设置lower_case_table_names

3.刷新权限

问题:

五、解决方案(docker方式)

1.先备份MySQL数据库数据

2.停止MySQL

3.找到MySQL数据存放路径

4.备份数据目录

5.清空之前的数据目录

6.配置docker compose的MySQL

7.重新用docker compose命令运行一个MySQL容器

8.查看启动日志

9.将数据恢复

10.验证


说明

本文档适用于docker容器运行的MySQL,修改MySQL表名忽略大小写。

一、摘要

在MySQL中,表名的大小写敏感性取决于操作系统和MySQL的配置。在Unix/Linux系统上,表名通常是区分大小写的,而在Windows系统上则通常是不区分大小写的。由于之前MySQL未设置忽略表名大小写导致数据查询失败等问题。

二、查看服务器上MySQL情况

方式一:通过Linux方式

查看MySQL是否忽略了表名大小写,先登录MySQL(mysql -uroot -p),再通过命令查看目前MySQL忽略表名的情况(SHOW VARIABLES like "lower_case_table_names";)

方式二:借助可视化工具(Navicat)

连上服务器上对应的MySQL服务,新建查询,如下图所示:

三、MySQL设置忽略表名大小写的参数(lower_case_table_names)

lower_case_table_names 可以设置为以下三个值之一:

0:区分大小写。数据库和表名在存储和比较时都区分大小写。在 Unix 和 Linux 系统上,这是默认值。

1:不区分大小写。数据库和表名在存储和比较时都不区分大小写。在 Windows 系统上,这是默认值。但请注意,即使设置为 1,在某些情况下(如使用 InnoDB 存储引擎和 CREATE TABLE 语句中的引号),MySQL 仍然可能区分大小写。

2:表名在存储时区分大小写,但在比较时不区分。这个设置很少使用,因为它可能导致混淆和不一致的行为。

注意:在安装MySQL过程中,只有在初始化的MySQL情况下,更改lower_case_table_names的值。

四、网上解决方案

方法一:只修改my.cnf

1.添加lower_case_table_names=1

在服务器上找到my.conf文件,由于我是采取docker compose部署的MySQL,因此修改MySQL的配置文件后启动方式因自己安装的方式而异。

#忽略表名大小写
lower_case_table_names=1

[mysqld] 部分新增

 2.保存并退出
3.重启MySQL

问题:

问题描述:Different lower_case_table_names settings for server ('1') and data dictionary ('0').

出现问题是在重启MySQL容器的时候报错。

方法二:临时设置

注:重启MySQL会失效

1.登录MySQL
2.设置lower_case_table_names
SET GOLBAL lower_case_table_names = 1;
3.刷新权限
FLUSH PRIVILEGES;

问题:

1238 - Variable 'lower_case_table_names' is a read only variable

lower_case_table_names 是一个只读的系统变量,这意味着你不能在 MySQL 服务器运行时动态地更改它的值。这个变量必须在 MySQL 服务器启动时从配置文件(通常是 my.cnfmy.ini,取决于你的操作系统和安装方式)中读取,或者在首次初始化数据目录时设置。因此这个方案行不通。

五、解决方案(docker方式)

1.先备份MySQL数据库数据

(1)通过命令去备份

mysqldump -uroot -p[密码] [数据库] > [备份的sql]

(2)采用工具备份,如Navicat

2.停止MySQL

3.找到MySQL数据存放路径

4.备份数据目录

cp -ar datadir datadir_old

5.清空之前的数据目录

rm -rf datadir/*

6.配置docker compose的MySQL

注:如果之前存在先删除之前旧的运行MySQL容器。

在docker-compose.yml中配置MySQL。

mysql:
    restart: always
    image: mysql:8.0.35
    volumes:
      - ./mysql/datadir:/var/lib/mysql
      - ./mysql/conf/my.cnf:/etc/my.cnf
    environment:
      - "MYSQL_ROOT_PASSWORD=xxx"
      - "MYSQL_DATABASE=xxx"
      - "MYSQL_USER=xxx"
      - "MYSQL_PASSWORD=xxx"
      - "TZ=Asia/Shanghai"
    command: --lower_case_table_names=1  # 添加这一行来设置lower_case_table_names  
    ports:
      - "3306:3306"

配置如下:

7.重新用docker compose命令运行一个MySQL容器

docker compose up -d mysql

8.查看启动日志

docker logs 容器名/容器id

若没出现错误即为,设置MySQL忽略表名大小写成功。

9.将数据恢复

(1)将导出的数据原封导入到MySQL中

(2)将备份的数据目录全部复制到现在MySQL目录

10.验证

到此,MySQL更新lower_case_table_names=1,忽略表名大小写完成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/717637.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

找不到vcomp100.dll无法继续执行代码的原因及解决方法

在日常使用电脑的过程中,我们可能会遇到一些错误提示,其中之一就是“vcomp100.dll丢失”。那么,vcomp100.dll是什么?它为什么会丢失?对电脑有什么具体影响?如何解决这个问题?本文将为您详细解答…

eNSP学习——配置基于接口地址池的DHCP

目录 主要命令 原理概述 实验目的 实验内容 实验拓扑 实验编址 实验步骤 1、基本配置 2、基于接口配置 DHCP Server 功能 3、配置基于接口的DHCP Server租期/DNS服务器地址 4、配置 DHCP Client 主要命令 //查看DHCP地址池中的地址分配情况 display ip pool//开启D…

【Unity每日一记】如何在Unity里面添加视频,做媒体屏幕

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:uni…

TC3xx A\B SWAP机制的小细节(2)

目录 1.引入 2.TC3xx Swap机制小细节 3.小结 1.引入 上文TC3xx A\B SWAP机制的小细节(1)-CSDN博客主要把OTA的概念,以及MCU的硬件A\B Swap机制做了简单介绍,下面我们来聊聊TC3xx的SWAP机制 2.TC3xx Swap机制小细节 英飞凌TC3xx提供了硬件SOTA机制&…

CMake从安装到精通

目录 引言 1. CMake的安装 2. CMake的原理 3. CMake入门 3.1 CMakeLists.txt与注释 3.2 版本指定与工程描述 3.3 生成可执行程序 3.4 定义变量与指定输出路径 3.5 指定C标准 3.6 搜索文件 3.7 包含头文件 4. CMake进阶 4.1 生成动静态库 4.2 链接动静态库 4.…

Linux服务升级:Almalinux 升级 Anaconda虚拟环境

目录 一、实验 1.环境 2.Almalinux 部署 VS Code 3.Almalinux 升级 Anaconda虚拟环境 4.Anaconda 使用 5.VS Code 部署 Anaconda虚拟环境 6.Almalinux 使用命令窗口版 Jupyter 二、问题 1.VS Code离线如何实现汉化 2.Anaconda 安装报错 3.Anaconda创建虚拟空间失败 …

头歌资源库(9)丢失的数字

一、 问题描述 二、算法思想 输入n和nums数组。初始化一个大小为n1的数组counts,初始值都为0。遍历nums数组,将counts[nums[i]]的值加1。遍历counts数组,找到第一个值为0的索引,即为没有出现在数组中的那个数。输出结果。 三、…

视频太大了怎么压缩

随着科技的不断发展,视频已经成为了我们生活和工作中不可或缺的一部分。但是,当我们拍摄或下载的视频文件过大时,就会遇到很多麻烦。比如,不能发送给朋友、不能上传等。这时候,我们就需要对视频进行压缩,以…

ctfshow web七夕杯

web签到 执行命令没有回显&#xff0c;我们直接写文件就可以了 有字符长度限制 ls />a nl /*>a访问url/api/a下载文件 easy_calc <?phpif(check($code)){eval($result."$code".";");echo($result); }function check(&$code){$num1…

谷歌发布Infini-Transformer模型—无限注意力机制长度,超越极限

Transformer 是一种基于自注意力机制的深度学习模型&#xff0c;最初应用于自然语言处理领域&#xff0c;现已扩展到图像、音频等多个领域。与传统的循环神经网络 (RNN) 不同&#xff0c;Transformer 不依赖于顺序数据处理&#xff0c;能够并行计算&#xff0c;从而显著提高效率…

04通讯录管理系统——退出功能实现

功能描述&#xff1a;退出通讯录 思路&#xff1a;根据用户不同的选项&#xff0c;进入不同的功能&#xff0c;可以选择switch分支结构&#xff0c;将整个架构进行搭建 当用户选择0时&#xff0c;执行退出&#xff0c;选择其他时先不做操作&#xff0c;也不退出程序 代码&am…

2021 hnust 湖科大 数据结构课堂实验代码及报告

2021 hnust 湖科大 数据结构课堂实验代码及报告 目录 实验1 线性表 1 实验2 栈的应用 4 实验3 队列的应用 9 实验4 串的应用 16 实验5 二叉树遍历 19 实验6 哈夫曼编码 23 实验7 图的遍历 27 实验8 最小生成树 32 实验9 最短路径 35 实验10 折半查找 37 实验11 插入排序与交换…

vue3的基本使用方法

【 vue3实例 】 【 0 】对象、方法和属性 对象&#xff08;Object&#xff09;&#xff1a; 对象是编程中的一个数据结构&#xff0c;它可以包含多种数据类型&#xff0c;包括数字、字符串、布尔值、数组、其他对象等。对象通常由一系列属性和方法组成。在面向对象编程&…

黑马程序员2024最新SpringCloud微服务开发与实战 个人学习心得、踩坑、与bug记录Day3 全网最全

你好,我是Qiuner. 为帮助别人少走弯路和记录自己编程学习过程而写博客 这是我的 github https://github.com/Qiuner ⭐️ gitee https://gitee.com/Qiuner &#x1f339; 如果本篇文章帮到了你 不妨点个赞吧~ 我会很高兴的 &#x1f604; (^ ~ ^) 想看更多 那就点个关注吧 我会…

DoIP——step1:车辆连接

文章目录 前言一、连接要求DoIP边缘节点的接口要求/测试仪的接口要求DoIP边缘节点物理层要求DoIP边缘节点数据链路层要求测试设备数据链路层要求二、物理连接激活线三、线束要求前言 采用DoIP对车辆进行诊断时可选择有线或者无线的方式完成外部诊断设备和车辆的连接,接下来将…

文档项目:攻坚克难

鉴于交流离心机存在的缺点&#xff1a;转速相对偏差、稳定精度不够高&#xff1b;带负载能力受外界扰动后&#xff0c;波动较大&#xff1b;寿命短&#xff0c;研究所各相关部门成立组成技术攻关团队&#xff0c;齐心协力&#xff0c;攻坚克难&#xff0c;在摸索中突破创新&…

【实用工具】Skyworking

文章目录 一、Skywalking概述1.1 核心功能1.2 指标概述1.2.1 一些常用指标1.2.2 指标的使用方式 二、仪表盘2.1 APM2.1.1 全局维度的指标2.1.2 服务维度的指标2.1.3 实例维度的指标2.1.4 端点维度的指标 2.2 数据库2.3 其他 三、追踪3.1 界面划分3.2 请求链路界面分析3.3 一般流…

Unity 材质系统优化(mesh相同,图片不同,但是可以将所有的图片合成一张图集)

今天提供一个Unity材质优化的思路&#xff0c;流程是这样的&#xff0c;模型的mesh相同只是图片不同&#xff0c;我想着能不能将所有的图片合成一张图集呢&#xff0c;于是我就试着在Blender里面开搞了&#xff0c;所有的mesh相同的模型&#xff0c;共用一个材质&#xff08;图…

spring整合openAI大模型之Spring AI

文章目录 一、SpringAI简介1.什么是SpringAI2.SpringAI支持的大模型类型&#xff08;1&#xff09;聊天模型&#xff08;2&#xff09;文本到图像模型&#xff08;3&#xff09;转录&#xff08;音频到文本&#xff09;模型&#xff08;4&#xff09;嵌入模型&#xff08;5&…

广电行业没落了吗?生成式人工智能(AIGC)媒体应用标准联盟发布,超清化、移动化和智能化是发展趋势

这些年&#xff0c;随着智能手机、网络普及程度越来越高&#xff0c;传统广播电视的打开率下滑&#xff0c;广电行业甚至被纳入“特困”行业名单。 根据2022年5月31日&#xff0c;人社部等四部门发布的《关于扩大阶段性缓缴社会保险费政策实施范围等问题的通知》&#xff0c;其…