docker mysql8.0.26 迁移 mysql8.3.0

背景

mysql8.0.26 存在CVE-2021-3711、CVE-2022-32221漏洞,姑升级到mysql8.3.0

镜像准备

sudo  docker save -o mysql830.tar mysql:8.3.0

sudo docker load -i mysql830.tar

docker-compose

命令 docker-compose up -d (约定优于配置 默认当前目录下 docker-compose.yml)

docker-compose.yml配置修改,docker-compose会重新创建。

不在docker-compose.yml 配置的已有容器会被删除

docker-compose -mysql8参数配置

指定root密码、新数据库、新用户及密码 时区

挂载 数据、配置文件目录

version: "3"
services:db830:image: mysql:8.3.0container_name: mysql8.3.0restart: alwaysenvironment:MYSQL_ROOT_PASSWORD: xxxxMYSQL_DATABASE: xxxMYSQL_USER: xxxMYSQL_PASSWORD: xxxTZ: Asia/Shanghaicommand:--max_connections=1000--character-set-server=utf8mb4--collation-server=utf8mb4_general_ci--default-authentication-plugin=mysql_native_password--explicit_defaults_for_timestamp=true--lower_case_table_names=1ports:- 3307:3306volumes:- ./db-830:/var/lib/mysql- ./conf-830:/etc/mysql/conf.d

docker 备份mysql

进入mysql8容器

docker exec -it xxx bash

mysql-bk.sh

/data/mysql/mysqlbk/bk 是宿主主机目录

        注意这是这个目录允许其它用户u谢谢

         因为默认是以当前用户权限写入的,

        虽然加了sudo,但是写入文件时还是以当前普通用户权限进行写,会提示无权操作

        以为是容器内目录,没有权限,其实不是。

       要以root身份进入,docker  exec -u root,不然导不出数据,xxx.sql一直是空的

        --no-create-db 指定不输出创建数据库语句(因为实在已有的库上恢复,文件太大,又不好改)


#!/bin/sh
echo backup mes start  $(date +%Y-%m-%d\ %H:%M:%S)
docker  exec -u root -i mysql8.3.0 mysqldump -uroot -pxxxx  --single-transaction --triggers --routines --events  --no-create-db --databases xxx> /data
/mysql/mysqlbk/bk/mes_bak_$(date +%Y%m%d_%H-%M-%S).sql
echo bk  end  $(date +%Y-%m-%d\ %H:%M:%S)
/usr/bin/find /data/mysql/mysqlbk/bk/ -mtime +60 -exec rm -rf {} \;
echo clear 60 days expired files success: $(date +%Y-%m-%d\ %H:%M:%S)
echo backup success
echo

docker 还原mysql

把sql文件拷贝到容器内

docker cp  /xxxx/xxx.sql  容器id:/

docker exec -it xxx bash 进入容器

mysql -uroot -p 登录

source ./xxx.sql文件

极速执行完成

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

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

相关文章

c# 求凸多边形的内心

在计算机图形学中,多边形的内心是指到多边形各边距离相等且位于多边形内部的一点。对于一个凸多边形,求其内心的方法相对直接,可以通过计算各个角平分线的交点得到。 以下是一个使用C#求解简单凸多边形内心的基本算法描述: publ…

TCP的连接和关闭的那些事

一、基础概念 1、啥是TCP? 它是面向连接的一种协议,任何数据发送之前都需要建立连接。 2、TCP/IP协议的四层中那一层? TCP位于运输层,详见下图 3、TCP协议的状态机有哪些? 在链接建立和断开不同阶段都有不同的状态&#xf…

EasyExcel表头宽度根据数据内容自适应+自动换行

我的版本EasyExcel为3.x,如果使用2.x可能有些字段不一样 表头宽度根据数据内容自适应 配置类 import com.alibaba.excel.enums.CellDataTypeEnum; import com.alibaba.excel.metadata.Head; import com.alibaba.excel.metadata.data.WriteCellData; import com.alibaba.exce…

Linux 驱动开发基础知识——编写LED驱动程序(三)

个人名片: 🦁作者简介:一名喜欢分享和记录学习的在校大学生 🐯个人主页:妄北y 🐧个人QQ:2061314755 🐻个人邮箱:2061314755qq.com 🦉个人WeChat:V…

springboot(ssmit职业生涯规划系统 职业规划学习系统Java系统

springboot(ssmit职业生涯规划系统 职业规划学习系统Java系统 开发语言:Java 框架:springboot(可改ssm) vue JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:mysql 5.7…

边裁边招,2024大厂往哪“卷”?

裁员只是大厂踌躇、转型的缩影,无论是林平还是背后的公司、行业,都亟需给未来一个确定的答案。 从2021年冬天开始,大厂裁员的消息有如“击鼓传花”般,不断冲击着圈内外网友们的神经,那可能是“裁员”这个话题自互联网…

css中>>>、/deep/、::v-deep的作用和区别,element-ui自定义样式

文章目录 一、前言1.1、/deep/1.2、::v-deep1.3、>>> 二、区别三、总结四、最后 一、前言 1.1、/deep/ 在style经常用scoped属性实现组件的私有化时,要改变element-ui某个深层元素(例如.el-input__inner)或其他深层样式时&#xf…

JOSEF约瑟 大容量中间继电器 RXMH2 RK223 067 DC220V 带底座

系列型号 RXMH2 RK 223 067大容量中间继电器; RXMH2 RK 223 068大容量中间继电器; RXMH2 RK 223 069大容量中间继电器; RXMH2 RK 223 070大容量中间继电器; 一、用途 RXMH2系列大容量中间继电器用于工业自动化控制及电力系统二次…

app重新签名之后,teamID会改变吗?

哈喽大家好,我是咕噜美乐蒂,很高兴又见面啦! 在iOS和macOS开发中,我们经常需要对应用进行重新签名,以便在发布或测试时更改应用的证书或代理。在重新签名应用程序时,可能会出现teamID变化的情况。本文将探…

冷知识:COS上传文件时可以同步获取文件信息

背景介绍 本文将介绍如何在上传文件到 COS 时同步获取文件信息,如图片的宽高、格式等。 目前,可以通过 COS 上传接口,如 PUT Object、CompleteMultipartUploads 等将文件存储至 COS 存储桶中,我们针对以下三种场景提供上传时同步…

Windows主机Navicat远程连接到Ubuntu18.04虚拟机MySQL

1. 在虚拟机上安装MySQL sudo apt-get install mysql-server sudo apt-get install libmysqlclient-dev 2. 检查安装 sudo netstat -tap | grep mysql 3. 查看默认密码 sudo cat /etc/mysql/debian.cnf 4. 用查看到的密码登录MySQL server,修改root用户的密码 …

javaWebssh宠物基地管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 java ssh宠物基地管理系统是一套完善的web设计系统(系统采用ssh框架进行设计开发),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用 B/S模式开发。开发环境为TOMCAT7.…

PostgreSQL插件说明

PostgreSQL插件是一种扩展PostgreSQL功能的程序。社区版插件管理需要超级用户权限,而华为公有云PostgreSQL提供了一种简单易用的插件管理方案,可以在数据库中创建、更新和删除插件,无需超级用户权限。它不仅可以增加特定的数据类型、函数、操…

JS进阶-内置构造函数(二)

小提示:这些内置函数在开发使用的频率非常的频繁,建议认真看一下,并背一下 目录 知识回顾: • Object 三个常用静态方法(静态方法就是只有构造函数Object可以调用的) Object.keys Object.values Obj…

brpc负载均衡load balance和服务发现name servicing

1.SharedLoadBalancer(load_balancer.h):包含LoadBalancer指针_lb,AddServersInBatch 2.LoadBalancerWithNaming:继承SharedLoadBalancer和NamingServiceWatcher 2.1Init函数:SharedLoadBalancer::Init&a…

梯度的计算

文章目录 import torch as tc# 以函数f(x) x^2 为例子,求梯度 x1 tc.tensor(1,dtypetc.float64,requires_gradTrue) g1 tc.autograd.grad(x1**2,x1)[0] print(f"The grad of x**2 at {x1} is {g1}")(x1 ** 2).backward() print(f"The grad of x*…

四、MySQL之增删改

一、插入数据 1.1、VALUES的方式添加 使用这种语法一次只能向表中插入一条数据。 1.1.1、为表的所有字段按默认顺序插入数据 INSERT INTO 表名 VALUES (value1,value2,....);// 值列表中需要为表的每一个字段指定值,并且值的顺序必须和数据表中字段定义时的顺序相…

浅谈WPF之UI布局

一个成功的软件,离不开人性化的UI设计,如何抓住用户第一视觉,让用户产生依赖感,合适优雅的布局必不可少。本文以一些简单的小例子,简述WPF中布局 面板 控件的使用,仅供学习分享使用,如有不足之处…

AWS 云监控工具

Amazon Web Services(AWS)是 Amazon 提供的云计算平台,为企业提供技术服务,包括计算能力、存储和数据库。借助 AWS,企业无需购买、拥有或维护物理数据中心和服务器,而 AWS 的即用即付方法使企业能够避免与 …

vcruntime140.dll找不到的多种解决方法分享,修复vcruntime140.dll文件

当操作电脑软件的过程中弹出一个错误提示“vcruntime140.dll已加载,但找不到入口点”,这通常意味着程序所依赖的vcruntime140.dll文件可能已经丢失、遭到破坏,或者该文件的路径及位置在软件开发时未被正确配置。此外,这种情况还有可能是因为电…