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

相关推荐
cpolar技术支持2 小时前
Kafka Streams 窗口统计怎么验收:本地跑订单流聚合,用 cpolar 给同事看只读结果页
java·docker·kafka·cpolar·kafka streams
Linux-lucky2 小时前
36-Linux学习之旅之MySQL主从复制
linux·运维·学习·mysql·ubuntu
广州灵眸科技有限公司2 小时前
瑞芯微(EASY EAI)RV1126B 星闪使用
运维·人工智能·科技·docker·容器
努力努力再努力wz2 小时前
【Docker入门系列】:从 Namespace 到 CGroup:一文理解容器资源控制、cgroup v2 与 Memory Controller 实战
运维·docker·容器
玉&心2 小时前
通过helm在k8s上面一键部署前端和后端代码
云原生·容器·kubernetes·helm
11路没有终点3 小时前
Docker 化测试环境:一致性交付
运维·docker·容器
kyrie_sakura3 小时前
MySQL数据库学习笔记3--关联(联合)查询
数据库·学习·mysql
石小千4 小时前
MySQL 8.4设置密码策略
数据库·mysql
平行云4 小时前
实时云渲染信创架构解析:从GPU池化到全栈适配的技术演进
linux·unity·docker·ue5·webgl·数字孪生·实时云渲染