备份数据库


  • 查看数据库的数据文件的位置

    systemctl status mysqld 查看启动进程以及防水

    /etc/my.conf 查看datadir 指向Mysql数据库的存储数据路径.
  • 关闭数据库

    systemctl stop mysqld
  • 备份数据库数据文件

    mkdir /mysqlindocker && time scp -r /var/lib/mysql /mysqlindocker

    scp /etc/my.cnf /mysqlindocker/

    mkdir /mysqlindocker/log

    mkdir /mysqlindocker/mysql-files

    chown mysql:mysql /mysqlindocker/ -R && chmod 777 /mysqlindocker -R

    chmod 644 /mysqlindocker/my.cnf

拉取mysql的镜像


  • 从docker hub 拉取

    docker pull mysql:8.0.25
  • 可以从可以上网的机器上面备份好之后再执行导出和导出

    docker save mysql:8.0.25 -o /mysql_docker_8025.tar
  • 复制到当前机器上面后执行导入操作

    docker load -i /mysql_docker_8025.tar

使用命令拉起来mysql数据库

  • 直接写命令
docker run --name mysql3307 -p 3307:3306 -v /mysqlindocker/mysql:/var/lib/mysql  -v /mysqlindocker/mysql-files:/var/lib/mysql-files -v /mysqlindocker/my.cnf:/etc/my.cnf -v /mysqlindocker/log:/var/log  -e MYSQL_ROOT_PASSWORD=Test20131127 -e TZ=Asia/Shanghai -d mysql:8.0.25

配置参数说明

  • my.conf 的参数说明
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
max_allowed_packet = 1G
innodb_log_file_size = 30M
innodb_log_buffer_size = 256M
innodb_buffer_pool_size=2G
innodb_file_per_table = 1
max_connections=2000
lower-case-table-names=1
innodb_strict_mode = 0
character_set_server=utf8
default-time-zone='+8:00'
transaction-isolation = READ-COMMITTED
default_authentication_plugin=mysql_native_password
binlog_expire_logs_seconds = 7200
[mysql]
default-character-set=utf8
prompt="\\u@\\h : \\d \\r:\\m:\\s>"

配置参数说明

  • datadir 指代数据目录
  • innodb 指代log文件以及内存占用大小,可以进行调整以适应不同的并发情况.
  • max_connections 标明数据库能够提供的访问并发数量.
  • lower-case-table-names 标明建库时数据库表名的大小写模式.
  • innodb-strict-mode 标明可以避免部分异常SQL的异常提示, 造成环境安装和使用中断.
  • utf8 使用了utf8mb3的字符集, 因为erp应用会使用较多的字段数,使用其他字符集可能导致单表的总字符长度数不够的问题.
  • time-zone 标明时区
  • read-committed 标明可重复读的模式.
  • 标明mysql的密码格式.
  • binlog_expire_logs_seconds 标明binlog的过期时间, 测试环境可以设置的比较小, 不然会占用较多的磁盘.
  • 标明客户端的字符集.
  • 标明mysql 登录时的提示信息,避免自己输入错误了.

Docker 命令说明


docker run 正常运行容器的命令
--name mysql3307 只对容器的名字,便于进行容器的启停查看log等.
-p 3307:3306 将端口expose 出来,需要注意的是 前面的是主机的端口, 后面的是容器内的端口
-v /mysqlindocker/mysql:/var/lib/mysql 这个定义的是 数据文件
-v /mysqlindocker/mysql-files:/var/lib/mysql-files 需要增加一个空文件 尽心初始化使用
-v /mysqlindocker/my.cnf:/etc/my.cnf 指定自己的配置文件到容器内部, 需要注意的是这个文件 需要 644的执行权限才可以
-v /mysqlindocker/log:/var/log 增加系统log目录
-e MYSQL_ROOT_PASSWORD=Test20131127 必须指定一个root密码,但是如果 -v 了存储目录 会使用内部的密码来代替这个密码
-e TZ=Asia/Shanghai 指定时区, 修改为东八区
-d mysql:8.0.25 指定镜像以及版本

冷备份MySQL数据库并且使用Docker直接运行的操作过程的更多相关文章

  1. Weka链接Mysql数据库

    Weka简介 Weka的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),是一款免费的,非商业化(与之对应的是SPSS公司商业数据挖掘产 ...

  2. Windows平台下搭建MySQL数据库

    1.下载安装MySQL数据库: (1)->我的标签->软件下载->计算机相关专业所用软件---百度云链接下载->mysql-installer-community-5.7.18 ...

  3. MYSQL——数据库存储引擎!

    本人安装mysql版本为:mysql  Ver 14.14 Distrib 5.7.18, for Win64 (x86_64),查看mysql的版本号方式:cmd-->mysql --vers ...

  4. Linux下C++访问MySQL数据库

    由于想要开始了解并学习用LAMP进行web开发,所以昨晚我在Fedora上安装了MySQL,学习了MySQL的几个常用命令.想着在学习进行web开发(PHP访问数据库)之前,先用我熟悉的C++连接数据 ...

  5. Docker 运行 MYSQL 数据库的总结

    公司里面要求做一个小demo 学习java相关的东西 然后使用了mysql数据库 很早之前做过mysql的容器化运行. 现在想想已经忘记的差不多了  所以这里总结一下 docker化运行mysql数据 ...

  6. 使用docker容器运行MySQL数据库并持久化数据文件

    1.下载mysql镜像 # docker pull mysql 2.启动mysql容器 # docker run -itd -v /data:/var/lib/mysql -p 33060:3306 ...

  7. Docker安装Mysql数据库容器(zz)

    zz自:http://blog.csdn.net/chengxuyuanyonghu/article/details/54380032 1.下载mysql的镜像: sudo docker pull m ...

  8. 沉迷 Docker,无法自拔(在 Docker 中运行 MySQL)

    记得之前做网站开发的时候,因为服务端用的 MySQL 数据库,为了方便调试以及隔离生产与开发环境,自己就在本地也安装了一个 MySQL 数据库.但是用着用着慢慢的也发现了一些不舒服的地方,比如常驻后台 ...

  9. Docker学习实践 - Docker安装MySql数据库

    Docker安装MySQL数据库 1.Ubuntu安装MySQL安装 (1)安装编译源码需要的包 sudo apt-get install make cmake gcc g++ bison libnc ...

  10. Docker安装MySQL数据库

    本文翻译自:MySQL Docker Containers:Understanding the basics 1.下载MySQL镜像 docker pull mysql:5.6 如此便可以下载最新的M ...

随机推荐

  1. Python图像处理丨图像缩放、旋转、翻转与图像平移

    摘要:本篇文章主要讲解Python调用OpenCV实现图像位移操作.旋转和翻转效果,包括四部分知识:图像缩放.图像旋转.图像翻转.图像平移. 本文分享自华为云社区<[Python图像处理] 六. ...

  2. MySQL Select 语句执行顺序

    一条 SQL 查询语句结构如下: SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOIN ...

  3. 跟着老猫来搞GO,系好安全带,准备发车!

    为什么想要开篇这么一个系列博客主题? 我想有很多小伙伴想要问我这个,其实主要有以下几个原因. 在粉丝面前丢脸了 之前写过几篇关于java分布式系统的一些坑,然后就有小伙伴挺崇拜的,认为老猫啥都会,甚至 ...

  4. CNCF大使预测:2024年云原生面临倦怠、离职及云成本精简

    本文由 CNCF 大使 Eric D. Schabell 撰写,预测2024年云原生领域最可能发生的3大变化,并与其对云原生可观测性领域的见解结合. 关注云原生倦怠 毫无疑问,在 2023 年中云原生 ...

  5. CVPR2022 前沿研究成果解读:基于生成对抗网络的深度感知人脸重演算法

    凭借在人脸生成领域的扎实积累和前沿创新,阿里云视频云与香港科技大学合作的最新研究成果<基于生成对抗网络的深度感知人脸重演算法 >(Depth-Aware Generative Advers ...

  6. 奶瓶KeyBoard | N68键盘使用说明

    1.旋钮功能及操作说明 旋钮功能向下长按5秒按为音量调节/灯光亮度调节互换,顺时针方向为音量+/亮度加,逆时针方向为音量-/亮度减 2. 无线连接及操作说明 Tab按键右侧和Q按键中间为通道连接指示灯 ...

  7. #2612:Find a way(BFS搜索+多终点)

    第一次解决双向BFS问题,拆分两个出发点分BFS搜索 #include<cstdio> #include<cstring> #include<queue> usin ...

  8. AtCoder Beginner Contest 162 C~F

    比赛链接:Here AB水题, C - Sum of gcd of Tuples (Easy) 题意:\(\sum_{a=1}^{K} \sum_{b=1}^{K} \sum_{c=1}^{K} g ...

  9. 服务降级,限流等--sentinel(SpringCloud Alibaba)

    一. 介绍Sentinel,中文翻译为哨兵,是为微服务提供流量控制.熔断降级的功能,它和Hystrix提供的功能一样,可以有效的解决微服务调用产生的"雪崩"效应,为微服务系统提供了 ...

  10. springboot+dubbo+myBatis实现微服务集成

    springboot+dubbo+myBatis实现微服务集成 代码下载:https://download.csdn.net/download/typ1805/10485048 微服务架构成了当下的技 ...