解决在mysql容器内修改了my.conf文件,导致mysql启动后又失败:mysql容器的状态一直处于Restarting

1、原因描述

        因项目启动提示: ‘xxxx.QRTZ_LOCKS’ doesn’t exist,导致报错的原因:mysql数据库对大小写敏感导致。

        mysql版本:8.0.25

2、解决问题

2.1.连接Mysql并进入mysql命令行

mysql -u root -p
# Enter password:

2.2 执行show global variables like '%lower_case%';

mysql> show global variables like '%lower_case%';+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_file_system | ON    |
| lower_case_table_names | 0     |
+------------------------+-------+

    注意:命名行结束后必须有";"。

    说明:

        lower_case_file_system
        表示当前系统文件是否大小写敏感,只读参数,无法修改。
        ON:表示当前系统对大小写不敏感
        OFF:表示当前系统对大小写敏感
        lower_case_table_names
        表示创建的数据表名,是否区分大小写
        lower_case_table_names = 1 :表示不区分大小写
        lower_case_table_names = 0 :表示区分大小写

2.3、修改mysql容器中my.conf文件

2.3.1、开始连接mysql容器

docker exec -it  [容器id]  /bin/bash

2.3.2、修改my.conf文件

vi  /etc/mysql/my.cnf在[mysqld]下添加如下[mysqld] 
lower_case_table_names=1

退出保存: :wq

2.3.2、重启容器        

docker restart  [容器id]

        能启动,但随后mysql8.0的容器状态就显示为Restarting。

        反复尝试均不能正常启动,mysql的服务不可用。

2.3.3、还原mysql配置

        此时,mysql的容器未启动,不能通 docker exec -it [容器id]  /bin/bash  方式进入容器。

         思路:把docker容器中的配置文件复制到主机中,然后在主机中修改,修改完成后再复制到docker容器中 1. 复制docker容器的文件到主机中。

    1、修改my.conf

      举例:  docker cp [容器id]:docker容器中配置文件路径   主机路径

docker cp [容器id]:/etc/mysql/my.cnf  /home/my.cnf

在[mysqld]下把添加的lower_case_table_names=1 删除,或注销

[mysqld] 

# lower_case_table_names=1

 2、替换my.conf

        把修改的配置文件再复制到docker容器中

        举例:docker cp 主机文件路径 容器id:docker容器中配置文件路径

docker cp /home/my.cnf  容器id:/etc/mysql/my.cnf
 3、重启容器成功
docker restart  [容器id]

        mysql8.0.25 能正常启动。

        但是mysql数据库对大小写敏感的问题,还未解决。

2.3.4、更换数据库

        docker中选择一个mysql5.7版本,再次执行以下操作:

1、开始连接mysql容器
docker exec -it  [容器id]  /bin/bash
2、修改my.conf文件
vi  /etc/mysql/my.cnf在[mysqld]下添加如下[mysqld] 
lower_case_table_names=1

退出保存: :wq

3、重启容器

docker restart  [容器id]

        重启mysql5.7容器,成功。

4、再次执行show global variables like '%lower_case%';

+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_file_system | OFF   |
| lower_case_table_names | 1     |
+------------------------+-------+

5、把数据库从mysql8.0中导入至mysql5.7,

        更改项目mysql配置,再次测试, 因项目启动提示: ‘xxxx.QRTZ_LOCKS’ doesn’t exist 消失,项目启动成功。

        

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

入门数据结构JAVADS——如何构建一棵简单二叉排序树

目录 前言 什么是二叉排序树 二叉排序树的特点 二叉排序树示意图 构建二叉排序树 插入元素 搜索元素 删除元素 完整代码 结尾 前言 在整个十一月,笔者因为一些原因停笔了,但马上迈入12月进而进入2025年,笔者决定不再偷懒了,继续更新以促进学习的积极性.闲话说到这,今天…

更多开源创新 挑战OpenAI-o1的模型出现和AI个体模拟突破

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

BUUCTF—Reverse—Java逆向解密(10)

程序员小张不小心弄丢了加密文件用的秘钥,已知还好小张曾经编写了一个秘钥验证算法,聪明的你能帮小张找到秘钥吗? 注意:得到的 flag 请包上 flag{} 提交 需要用专门的Java反编译软件:jd-gui 下载文件,发现是个class文…

Redis(4):主从复制

一、主从复制概述 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。   默认情况下,每台Redis…

操作系统 | 学习笔记 | 王道 | 2.2处理机调度

2.2 处理机调度 文章目录 2.2 处理机调度2.2.1 调度的概念2.2.2 调度的目标2.2.3 调度的实现2.2.4 典型的调度算法错题总结: 2.2.1 调度的概念 调度的基本概念 处理机调度是对处理机进行分配,即从就绪队列中按照一定的算法(公平、高效的原则&…

PostgreSQL的学习心得和知识总结(一百五十八)|在线调优工具pgtune的实现原理和源码解析

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《PostgreSQL数据库内核分析》 2、参考书籍:《数据库事务处理的艺术:事务管理与并发控制》 3、PostgreSQL数据库仓库…

【问题】webdriver.Chrome()设置参数executable_path报不存在

场景1: 标红报错unresolved reference executable_path 场景2: 执行报错TypeError: __init__() got an unexpected keyword argument executable_path 原因: 上述两种场景是因为selenium4开始不再支持某些初始化参数。比如executable_path 解决: 方案…

JS听到了双生花的回响

日期对象 学会了日期对象可以让网页显示日期 是用来表示时间的对象,可以得到当前系统的时间 实例化 new关键字,就是实例化的代表 就比如说,你没有对象,但是你是程序员,这个时候你可以先定义一个类(你的…

C++类中多线程的编码方式

问题 在C++代码中,一般的代码是需要封装在类里面,比如对象,方法等。否则就不能很好的利用C++面向对象的能力了。 但是这个方式在处理线程时会碰到一个问题。 考虑下面一个简单的场景: class demoC { public:std::thread t;int x;void threadFunc(){std::cout<<x&…

Chapter 17 v-model进阶

欢迎大家订阅【Vue2Vue3】入门到实践 专栏&#xff0c;开启你的 Vue 学习之旅&#xff01; 文章目录 1 v-model原理2 表单类组件封装3 v-model简化代码 1 v-model原理 1. 基本原理 v-model 本质上是一个语法糖&#xff0c;它将 value 属性 和 input 事件 的绑定合并为一个指令…

spring-boot-maven-plugin 标红

情况&#xff1a;创建好 Spring Boot 项目后&#xff0c;pom.xml 文件中 spring-boot-maven-plugin 标红。 解决方案&#xff1a;加上 Spring Boot 的版本即可解决。

电子应用设计方案-31:智能AI音响系统方案设计

智能 AI 音响系统方案设计 一、引言 智能 AI 音响作为一种新兴的智能家居设备&#xff0c;通过融合语音识别、自然语言处理、音频播放等技术&#xff0c;为用户提供便捷的语音交互服务和高品质的音乐体验。本方案旨在设计一款功能强大、性能稳定、用户体验良好的智能 AI 音响系…

“harmony”整合不同平台的单细胞数据之旅

其实在Seurat v3官方网站的Vignettes中就曾见过该算法&#xff0c;但并没有太多关注&#xff0c;直到看了北大张泽民团队在2019年10月31日发表于Cell的《Landscap and Dynamics of Single Immune Cells in Hepatocellular Carcinoma》&#xff0c;为了同时整合两类数据&#xf…

接口测试工具:reqable

背景 在众多接口测试工具中挑选出一个比较好用的接口测试工具。使用过很多工具&#xff0c;如Postman、Apifox、ApiPost等&#xff0c;基本上是同类产品&#xff0c;一般主要使用到的功能就是API接口和cURL&#xff0c;其他的功能目前还暂未使用到。 对比 性能方面&#xff…

内容安全与系统构建加速,助力解决生成式AI时代的双重挑战

内容安全与系统构建加速&#xff0c;助力解决生成式AI时代的双重挑战 0. 前言1. PRCV 20241.1 大会简介1.2 生成式 Al 时代的内容安全与系统构建加速 2. 生成式 AI2.1 生成模型2.2 生成模型与判别模型的区别2.3 生成模型的发展 3. GAI 内容安全3.1 GAI 时代内容安全挑战3.2 图像…

SRS搭建直播推流服务

学习链接 5分钟教你搭建SRS流媒体服务器 - B站视频 SRS Stack 入门B站合集视频 - SRS官方教程 SRS官网 SRS官网文档 ossrs/srs github SRS for window - 可以安装windows版本的srs&#xff0c;SRS 5.0.89正式支持Windows&#xff0c;每个5.0的版本都会提供安装包 文章目录…

javaScript数据类型存储

2.1、简单类型与复杂类型 简单类型又叫做基本数据类型或者值类型&#xff0c;复杂类型又叫做引用类型 值类型&#xff1a;简单数据类型/基本数据类型&#xff0c;在存储时变量中存储的时值本身&#xff0c;因此叫做值类型 string、number、boolean、undefined、null 注意&…

深度学习之 DenseNet和2图像分割常用数据集

1 DenseNet 卷积神经网络结构的设计主要朝着两个方向发展&#xff0c;一个是更宽的网络&#xff08;代表&#xff1a;GoogleNet、VGG&#xff09;&#xff0c;一个是更深的网络&#xff08;代表&#xff1a;ResNet&#xff09;。但是随着层数的加深会出现一个问题——梯度消失&…

Nginx:反向代理

目录 反向代理原理 反向代理配置 日志对比 反向代理原理 网站通过代理服务器发布&#xff0c;用户无需得知网站的实际地址&#xff0c;通过代理服务器进行请求与响应。 用户所有的网站请求报文与响应报文都被代理服务器拦截&#xff0c;在网络层将源地址和目的地址进行了修改…

Linux系统编程——进程替换

目录 前言 二、进程程序替换的概念 三、进程程序替换的原理 ​编辑 四、为什么需要进行进程程序替换 五、如何进行进程程序替换 1、进程替换函数&#xff1a; 1)execl()函数 2)execv()函数 3) execlp()函数 4) execvp()函数 5&#xff09;execle函数 6&#xff09;ex…