docker中升级mysql到最新版本

1.官网查看最新版本情况。

https://dev.mysql.com/downloads/mysql/

2.拉取最新版本镜像到本地。

docker pull mysql:9.7.2

3.将data相关目录复制出来,另外启动一个容器。

cp -r mysql9 mysql9_new

修改docker-compose.yml 和conf下的my.cnf中的端口配置

my.cnf

复制代码
[mysqld]
port=3307
#允许最大连接数
max_connections=3000
#允许连接失败的次数。
max_connect_errors=100
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
innodb_buffer_pool_size = 4G
group_concat_max_len=1024000
log_bin_trust_function_creators=1
default-time-zone='+8:00'
interactive_timeout=31536000
wait_timeout=31536000
log_timestamps=system
character-set-server=utf8mb4
collation-server =utf8mb4_0900_ai_ci
init_connect='SET NAMES utf8mb4'
sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION


[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
#设置mysql客户端连接服务端时默认使用的端口
port=3307
default-character-set=utf8mb4

docker-compose.yml

复制代码
services:
  mysql:
    image: mysql:9.7.2
    container_name: mysql9-3307-prod-9.7.2
    restart: unless-stopped
    ports:
      - "3307:3307"
    volumes:
      - /data/mysql9_new/data:/var/lib/mysql
      - /data/mysql9_new/conf/my.cnf:/etc/my.cnf      
      - /data/mysql9_new/logs:/var/logs 
    environment:
      - MYSQL_ROOT_PASSWORD=123456
      - TZ=Asia/Shanghai

4.进入到当前目录,启动容器:

docker compose -f docker-compose.yml up -d

5.启动之后,使用navicat连接,测试新的数据库是否能正常访问,数据库是否都存在。

6.新的能正常访问,然后将新的和旧的容器都停止,然后修改新的端口为旧的端口,随后启动新的容器。

docker stop mysql9-3307-prod

docker stop mysql9-3308-prod

7.排查问题,查看容器日志

docker logs -f mysql9-3308-prod

相关推荐
Decay__9 小时前
12_MySQL InnoDB 内存与锁调优 —— Buffer Pool、redo log、隔离级别与锁等待
运维·数据库·sql·mysql·架构
java_logo11 小时前
Docker 部署 Dify:轻松搭建 LLM 应用开发平台
运维·docker·容器
方便面不加香菜12 小时前
Docker Container -- 综合实战案例详解
运维·docker·容器
苏宸啊13 小时前
MySQL(一)
数据库·mysql
2603_9696948514 小时前
JDBC 基础学习笔记:API 核心原理解析与 CRUD 代码实操
数据库·笔记·mysql·学习方法·database·sql注入
这个DBA有点耶14 小时前
库内语义构建 vs 外挂向量库:业务语义缺失,才是RAG“胡说八道”的根源
数据库·mysql·aigc
kobe_OKOK_16 小时前
mysql 开启 binlog 日志
数据库·mysql
这个DBA有点耶16 小时前
MySQL 8.0直方图:统计信息升级了,执行计划为什么还是选错?
数据库·mysql·代码规范
修己xj17 小时前
在 AMD 机器上拉取 ARM 架构 Docker 镜像
docker
瑞克-桑切斯19 小时前
docker Harbor 单机部署手册
大数据·运维·elasticsearch·docker·容器