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

ops/2024/11/29 10:43:51/

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.ppmy.cn/ops/137631.html

相关文章

【Axure视频教程】中继器表格列传值

今天教大家在Axure制作中继器表格列传值的原型模板,我们可以中继器表格里列的值,传递到中继器外部的元件,例如,把表格里面的员工姓名设置到外部文字标签里,并且可以随着中继器表格内容的变化,传的值也是实时…

Java与Kotlin在鸿蒙中的地位

在当今移动操作系统领域,华为推出的鸿蒙系统(HarmonyOS)正逐渐崭露头角,成为与Android、iOS并驾齐驱的操作系统之一。对于开发者而言,了解如何为鸿蒙系统开发高质量的应用程序变得至关重要。在这篇文章中,我…

Python学习指南 + 谷歌浏览器如何安装插件

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏: Python 目录 前言 Python 官方文档的使用 谷歌浏览器中如何安装插件 前言 在学习Python时,我们可能会出现这样的困惑&#x…

基于时间维度优化“开源 AI 智能名片 S2B2C 商城小程序”运营策略:提升触达与转化效能

摘要: 随着数字化商业生态的蓬勃发展,“开源 AI 智能名片 S2B2C 商城小程序”融合前沿技术与创新商业模式,为企业营销与业务拓展带来新机遇。本文聚焦于用户时间场景维度,深入剖析如何依据不同时段用户行为特征,精准适…

智能产品综合开发 - 树莓派智能小车

1 实训选题目的 本次实训选择的题目是“树莓派智能小车”,旨在为人们提供高效便捷的日常服务环境,利用树莓派智能小车实现多功能智能化操作。通过综合使用传感器模块和人工智能技术,智能小车能够自主完成路径规划、障碍避让、语音控制、图像识…

linux系统中常用文件日常使用命令记录

我们办公机是Ubuntu系统; 记录下工作中经常使用的几个文件或命令或一些零碎的知识点: (该文档会持续更新) 查看系统信息: uname -a cat /etc/product-info cat /etc/os-version 存放系统启停脚本 /etc/init.d/ 存放源…

ABAP OOALV模板

自用模板,可能存在问题 一、主程序 *&---------------------------------------------------------------------* *& Report ZVIA_OO_ALV *&---------------------------------------------------------------------* REPORT ZVIA_OO_ALV.INCLUDE ZVI…

Ubuntu系统上安装和启动SSH服务

安装OpenSSH服务器 打开终端。更新软件包列表:sudo apt update安装OpenSSH服务器:sudo apt install openssh-server启动并启用SSH服务 启动SSH服务: sudo systemctl start ssh设置SSH服务开机自启: sudo systemctl enable ssh检查…