首页 > 数据库 >Docker升级MySQL版本的快速方法

Docker升级MySQL版本的快速方法

时间:2024-05-28 18:22:42浏览次数:29  
标签:05 54 MySQL Server 2024 版本 mysql Docker MY

Docker升级MySQL版本的快速方法


背景

虽然容器跑数据库用于生产不太靠谱
因为性能以及其他相关的问题
但是用在测试环境上面还是非常方便的
昨天有客户想问问最新版的MySQL的兼容性情况
今天告知要验证一把最新版本的数据库的情况.
所以这里验证一下, 遇到了几个小坑. 

关于mysql的版本

MySQL现在每个季度发布一个版本
其中 8.0 系列的后续之进行 bugfixed 不增加新特性
截止 2024.5 最新版本的数据库是 8.0.37
发布时间是 2024.4.30
与更新的LTS 8.4 版本是同时发布的

更旧一点的是 MySQL8.0.36 
其实是 2024.1.16发布的

升级方式

先获取镜像
docker pull mysql:8.0.36
docker pull mysql:8.0.37
docker pull mysql:8.4

冷备升级

先停掉之前的mysql
docker stop mysql110
然后复制文件出来. 
比如说我放到了 /mysql3308  

注意一定要处理好 权属 
chown mysql:mysql /mysql3308 -R

开始镜像操作

docker run --user=mysql  --privileged=true \
--name mysql3308 -p 3308:3306 -v /mysql3308/mysql:/var/lib/mysql  \
-v /mysql3308/mysql-files:/var/lib/mysql-files -v /mysql3308/my.cnf:/etc/my.cnf \
-v /mysql3308/log:/var/log  -e MYSQL_ROOT_PASSWORD=Testxxxxxxxx \
-e TZ=Asia/Shanghai -d mysql:8.0.37  --lower-case-table-names=1

需要注意这里面有几个深坑
1. Different lower_case_table_names settings for server ('0') and data dictionary ('1')
需要在最后面增加一下:  --lower-case-table-names=1 这个版本启动总有问题, 尤其是带着数据库的情况. 
2.  World-writable my.cnf 
注意 mysql3308 目录下面不能所有的文件都是 777 的 会报错
3. Could not open file '/var/log/mysqld.log' for error logging: Permission denied
可以增加一下: --user=mysql  --privileged=true

升级效果

2024-05-28 15:54:03+08:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.37-1.el9 started.
2024-05-28T07:54:04.100146Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.37) starting as process 1
2024-05-28T07:54:04.106905Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2024-05-28T07:54:07.394466Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2024-05-28T07:54:18.918212Z 4 [System] [MY-013381] [Server] Server upgrade from '80026' to '80037' started.
2024-05-28T07:54:25.744083Z 4 [System] [MY-013381] [Server] Server upgrade from '80026' to '80037' completed.
2024-05-28T07:54:26.603553Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2024-05-28T07:54:26.603589Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2024-05-28T07:54:26.621559Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.37'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MySQL Community Server - GPL.
2024-05-28T07:54:26.621579Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock

标签:05,54,MySQL,Server,2024,版本,mysql,Docker,MY
From: https://www.cnblogs.com/jinanxiaolaohu/p/18218603

相关文章

  • Docker环境如何配置?使用阿里云OOS一步搞定!
    背景介绍系统运维管理OOS及扩展程序系统运维管理OOS(CloudOpsOrchestrationService)针对在阿里云ECS实例上部署应用和驱动的复杂性,特别设计了扩展程序,旨在简化用户的操作流程。它免去了用户需针对不同操作系统逐一研究复杂安装命令的麻烦。如同拥有一位虚拟的技术专家,用户只需进......
  • 使用prometheus监测MySQL主从同步状态方案
    说明:本文介绍如何使用prometheus、alertmanager监测MySQL主从,当从节点中断同步时,发送邮箱报警,并使用grafana将数据视图化。结构图如下:安装(1)安装应用首先,来安装prometheus、alertmanager和grafana,参考以下文章(都是我写的,嘿嘿):CentOS7安装prometheusCentOS7安装aler......
  • 【MySQL数据库】 MySQL主从复制
    MySQL主从复制MySQL主从复制主从复制与读写分离的意义主从数据库实现同步(主从复制)三台mysql服务器搭建主从复制,要求不可以用root帐号同步,要求第三台服务器在测试过1、2的主从复制之后进行主从复制配置MySQL主从复制主从复制与读写分离的意义企业中的业务通常数据......
  • electron27版本,使用loadURL页面,出现CORS policy错误解决方案。
    AccesstoXMLHttpRequestat'http://localhost:8008/paths...'fromorigin'http://www.exmaple.com'hasbeenblockedbyCORSpolicy:Therequestclientisnotasecurecontextandtheresourceisinmore-privateaddressspace`local`.g......
  • Docker安装Gitlab教程
     1、Gitlab介绍GitLab是一个用于代码仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务平台,GitLab比较适合公司内部的项目管理,用来管理项目成员、代码提交、项目运维。分为社区免费版和企业收费版,针对中小型公司推荐使用社区免费版,功能就够用了......
  • Docker 快速搭建 MongoDB 4.x 集群(一主一从)
    目录1.生成mongo-file2.启动主节点3.启动从节点4.配置副本集5.注意事项环境:MongoDB4.0.25,AlmaLinux(建议使用Linux)部署的时候是在同一个及其上操作的,实际可以放在不同机器上。截止到2024年05月,MongoDB已经到7.x版本,后续再补一个7.x较新版本的安装......
  • MySQL常见问题解答:初学者常遇到的疑惑与解决方案
    MySQL是一种常用的关系型数据库管理系统,用于存储和管理大量的数据。对于初学者来说,可能会遇到一些问题和困惑。下面是一些常见问题的解答和解决方案:1.安装和配置MySQL您可以按照以下步骤进行操作:1.1下载MySQL安装包:您可以从MySQL官方网站MySQL::下载MySQL社区服务......
  • 最新版本MathType的优势
    一份订阅,多平台可用只需订阅一次,即可在Windows、macOS、LMS平台或任何其他桌面或基于Web的环境上使用MathType。安全和GDPR合规性严格遵守所有最新的安全和GDPR标准,保护您的计算机免受风险。无忧迁移顺畅无忧地保留工作内容,并像使用旧版本MathType一样继......
  • Springboot计算机毕业设计学生考勤管理微信小程序【附源码】开题+论文+mysql+程序+部
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展,高校教学管理日益向数字化、智能化方向转变。传统的考勤管理方式不仅效率低下,而且容易出现误差,已无法满足现代高校管理的需求......
  • SpringBoot修改内置的Tomcat版本
    springboot内置tomcat各版本漏洞及修复情况参考链接:https://mvnrepository.com/artifact/org.apache.tomcat.embed/tomcat-embed-core打开项目,找到pom.xml文件找到对应节点,按以下步骤修改:1、pom添加tomcat版本信息   <properties>       <java.version>1.8</java.ver......