冷备份MySQL数据库并且使用Docker直接运行的操作过程
备份数据库
- 查看数据库的数据文件的位置
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直接运行的操作过程的更多相关文章
- Weka链接Mysql数据库
Weka简介 Weka的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),是一款免费的,非商业化(与之对应的是SPSS公司商业数据挖掘产 ...
- Windows平台下搭建MySQL数据库
1.下载安装MySQL数据库: (1)->我的标签->软件下载->计算机相关专业所用软件---百度云链接下载->mysql-installer-community-5.7.18 ...
- MYSQL——数据库存储引擎!
本人安装mysql版本为:mysql Ver 14.14 Distrib 5.7.18, for Win64 (x86_64),查看mysql的版本号方式:cmd-->mysql --vers ...
- Linux下C++访问MySQL数据库
由于想要开始了解并学习用LAMP进行web开发,所以昨晚我在Fedora上安装了MySQL,学习了MySQL的几个常用命令.想着在学习进行web开发(PHP访问数据库)之前,先用我熟悉的C++连接数据 ...
- Docker 运行 MYSQL 数据库的总结
公司里面要求做一个小demo 学习java相关的东西 然后使用了mysql数据库 很早之前做过mysql的容器化运行. 现在想想已经忘记的差不多了 所以这里总结一下 docker化运行mysql数据 ...
- 使用docker容器运行MySQL数据库并持久化数据文件
1.下载mysql镜像 # docker pull mysql 2.启动mysql容器 # docker run -itd -v /data:/var/lib/mysql -p 33060:3306 ...
- Docker安装Mysql数据库容器(zz)
zz自:http://blog.csdn.net/chengxuyuanyonghu/article/details/54380032 1.下载mysql的镜像: sudo docker pull m ...
- 沉迷 Docker,无法自拔(在 Docker 中运行 MySQL)
记得之前做网站开发的时候,因为服务端用的 MySQL 数据库,为了方便调试以及隔离生产与开发环境,自己就在本地也安装了一个 MySQL 数据库.但是用着用着慢慢的也发现了一些不舒服的地方,比如常驻后台 ...
- Docker学习实践 - Docker安装MySql数据库
Docker安装MySQL数据库 1.Ubuntu安装MySQL安装 (1)安装编译源码需要的包 sudo apt-get install make cmake gcc g++ bison libnc ...
- Docker安装MySQL数据库
本文翻译自:MySQL Docker Containers:Understanding the basics 1.下载MySQL镜像 docker pull mysql:5.6 如此便可以下载最新的M ...
随机推荐
- ISO/IEC 5055:软件代码质量的标尺
摘要:ISO 5055是首个直接从软件内部结构方面衡量软件质量(如安全性和可靠性)的ISO标准.该标准基于统计安全性.可靠性.可维护性和性能效率方面的软件缺陷来衡量软件的结构质量. 本文分享自华为云社 ...
- 中秋节,华为云AI送上超级大月亮制作教程,体验赢开发者键鼠套装
摘要:一键"Run in ModelArts",无需考虑计算资源.环境的搭建,简单运行代码,即可拥有你的超级大月亮,打造专属于你的梦幻中秋月夜. 本文分享自华为云社区<中秋节 ...
- A/B测试助力游戏业务增长
更多技术交流.求职机会.试用福利,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 中国游戏行业发展现状及挑战 国内市场增长乏力 2021年游戏销售收入2965.13亿元,同比增长6.4% ...
- Spring Boot 接口返回文件流
import org.springframework.core.io.FileSystemResource; import org.springframework.core.io.Resource; ...
- Python使用pandas库读取txt文件中的Json数据,并导出到csv文件
使用的是 Python 3 代码: #!/usr/bin/python # -*- coding: gbk -*- # JSON数据导出到csv文件 import json import pandas ...
- C++ 20 标准协程入门教程
基本概念 (是什么) 协程(coroutine): 是一种特殊的函数,其可以被暂停(suspend), 恢复执行(resume).一个协程可 以被多次调用. 协程(coroutine): 分为stac ...
- Codeforces Round #739 (Div. 3) 个人题解(A~F2)
比赛链接:Here 1560A. Dislike of Threes Description 找出第 $k$ 大的不可被 $3$ 整除以及非 $3$ 结尾的整数 直接枚举出前 1000 个符合条件的数 ...
- AtCoder Beginner Contest 172 (C题前缀和 + 二分,D题筛因子,E题容斥定理)
AB水题, C - Tsundoku 题目描述 有两摞书,一摞有 $n$ 本,从上至下每本需阅读 $a_i$ 分钟,一摞有 $m$ 本,从上至下每本需阅读 $b_i$ 分钟,问最多能在 $k$ 分钟内 ...
- 【每日一题】21.边的染色 (DFS连通图 + 思维)
补题链接:Here 思维不够,看到这种陌生的题目无从下手. 这题应该做过一次的人会觉得它其实并不难. 主要思想:把边权->点权. 这样做的好处是,无论你怎么分配点权,在环内的异或值一定为 \(0 ...
- python使用sql批量插入数据+查看执行的语句+动态sql创建表+动态创建索引
class Test(): cursor = connection.cursor() data_to_insert = [] sql = "INSERT INTO test_t (id, n ...