mysql迁移:docker迁入迁出mysql
docker迁出mysql数据库
测试环境:
|
docker服务器 |
mysql服务器 |
|
|
IP |
192.168.163.19 |
192.168.163.16 |
|
操作系统 |
CentOS7.8 |
CentOS7.8 |
|
docker版本 |
Docker18.09.9 |
/ |
|
数据库版本 |
MySQL8.0.22 |
MySQL8.0.22 |
1.查看docker相关情况
[root@docker-test /data/mysql/data]$ docker ps

启动mysql并映射转储目录到本地服务器,当前情况只适用于没有建立mysql实例时,启动的时候映射目录,如果已经启动实例,就需要更改其他配置文件来完成转储
[root@docker-test ~]$ docker run -d -e MYSQL_ROOT_PASSWORD=123456 --name mysql-test -v /data/mysql/data:/var/lib/mysql -p 3306:3306 mysql
9b1cc179d909
2.选择指定导出的数据库进行mysqldump,指定到数据文件的目录下进行备份
root@9b1cc179d909:/# mysqldump -uroot -p hzh > /var/lib/mysql/hzh20210115.sql
Enter password:

3.本地映射的mysql目录中,查看/data/mysql/data服务器转储目录中已存在sql文件

4.将备份的sql文件传输到指定恢复的数据库中/data/mysql/db_hzh/data路径下
[root@docker-test /data/mysql/data]$ scp hzh20210115.sql root@192.168.163.16:/data/mysql/db_hzh/data

5.将指定文件授权并进行恢复
chown mysql:mysql /data/mysql/db_hzh/data/hzh20210115.sql
mysql> create database hzh;
Query OK, 1 row affected (1.00 sec)
mysql> use hzh;
Database changed
mysql> source /data/mysql/db_hzh/data/hzh20210115.sql

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| hzh |
| information_schema |
| mysql |
| performance_schema |
| sys |
| test_20210110 |
| testabc |
+--------------------+
7 rows in set (0.00 sec)
mysql>
mysql>
mysql> use hzh;
Database changed
mysql> show tables;
+----------------+
| Tables_in_hzh |
+----------------+
| delivery_trade |
| test01 |
| test02 |
| test03 |
+----------------+
4 rows in set (0.00 sec)
mysql> select count(*) from test01;
+----------+
| count(*) |
+----------+
| 45 |
+----------+
1 row in set (0.02 sec)

6.至此恢复完成,主要步骤是将docker中的mysql数据目录转储映射到本地服务器目录
mysql迁移到docker中
1.将需要迁移的数据库进行备份
[mysql@localhost /usr/local/mysql/bin]$ ./mysqldump -uroot -p -S /data/mysql/db_hzh/mysql.sock --default-character-set=utf8 --set-gtid-purged=off --databases testabc test_20210110 > /usr/local/mysql/test_dump.20210115.sql

2.将备份文件传到docker服务器中
[mysql@localhost /usr/local/mysql]$ scp test_dump.20210115.sql root@192.168.163.19:/data/mysql/data
3.进入mysql进行数据备份恢复

mysql> create database test_20210110;
Query OK, 1 row affected (0.01 sec)
mysql> create database testabc;
Query OK, 1 row affected (0.00 sec)
mysql> source /var/lib/mysql/test_dump.20210115.sql
Query OK, 0 rows affected (0.00 sec)

至此mysql数据迁移docker容器中结束
mysql迁移:docker迁入迁出mysql的更多相关文章
- docker迁入迁出mysql
docker迁出mysql数据库 测试环境: docker服务器 mysql服务器 IP 192.168.163.19 192.168.163.16 操作系统 CentOS7.8 CentOS7.8 ...
- 在docker中安装mysql
#!/bin/sh # 安装docker # 在docker中安装mysql # 解决了docker容器中无法输入中文的问题 ##########################安装docker # ...
- 解决mysql for docker容器报错:Authentication plugin 'caching_sha2_password' cannot be loaded
为图方便,懒得在mac上安装mysql了,一个是管理不方便,第二个是为了方便多机器同步开发环境.就使用docker安装了. 拉取mysql镜像 docker pull mysql 运行mysql实例 ...
- 连接远程docker内的mysql(navicat)
拉取mysql镜像 docker pull mysql:5.6 查看mysql镜像 docker images | grep mysql 启动mysql容器 docker run -p 3306:33 ...
- 使用EF操作Docker中的Mysql实例
为啥我会选择mysql呢?因为我的服务器配置较低,而SqlServer在docker中的实例,服务器的运行内存应当保持在2G+,我没有这个条件,它会爆出这样的错误 sqlservr: This pro ...
- Docker下的mysql安装指令(Mac)
工具 简介 对于Docker,绝对是开发人员的一款利器!当下特别火热的虚拟化技术.都说不知Docker是什么,作为IT人就out了. 关于Docker 是什么.及其基础学习可以参考: <Do ...
- 往docker中的mysql导入sql文件
先把sql文件上传到服务器 然后拷贝sql文件到docker中的mysql 容器中 docker cp test.sql mysql:/test.sql 这里的mysql都是容器名称 根据自己的来 用 ...
- 在 Docker 中使用 mysql 的一些技巧
启动到后台: docker-compose start docker-composer 执行命令: entrypoint: pwd app: build: ./app working_dir: /a ...
- centos7 + Nginx+ HTTPS + uwsgi + python3.6 + Docker + Django1.11 + mysql 5.6 + virtualenv 环境搭建
环境搭建: 系统: centos7.2 x64 开发环境: python3.6 Django 1.11 虚拟环境: [Docker](https://www.runoob.com/dock ...
- Docker实战之MySQL主从复制
前言 曾几何时,看着高大上的架构和各位前辈高超的炫技,有没有怦然心动,也想一窥究竟?每当面试的时候,拿着单应用的架构,吹着分库分表的牛X,有没有心里慌的一批? 其实很多时候,我们所缺少的只是对高大上的 ...
随机推荐
- mkcert 生成本地SSL证书 IIS 安装
下载mkcert https://github.com/FiloSottile/mkcert/releases/latest 管理员身份 cmd 命令目录下 mkcert-v1.4.4-windows ...
- 学习Java的第一个代码
HelloWorld 新建一个文件夹 新建一个Java 文件后缀为java hello.java 编写代码 public class hello{ public static void main(St ...
- 关于php pconnect长连接如何刷新连接的讨论
由于每个pconnect所建立的连接信息和单个进程绑定.线上偶发了redis在某一台机器php-fpm上连接正常而无法进行任何操作的问题. 先说结论 查看redis拓展官方文档 close方法 有一句 ...
- 按正斜线输出M*N的矩阵
public static void outMatrix(int[][] array) { for(int row=0;row<array.length;row++) { int scolumn ...
- [转]sublime text 4注册
1.打开浏览器进入网站https://hexed.it2.打开sublime text4安装目录选择文件sublime_text.exe3.搜索80 78 05 00 0f 94 c1更改为c6 40 ...
- JS和PHP中能转为布尔false的值的对比
实际开发中经常会使用到JS和PHP中的变量转布尔值进行条件判断,下面对两种语言中转布尔类型结果为false的值进行对比,加深记忆和方便引用. 除了下表列出项,其它的值均转成真值true . 转布尔值后 ...
- python:m3u8转mp4
import re,requests,time,os import threadpool res = requests.get(url="http://pili-vod.tebaobao.v ...
- 基本的dns命令
打开cmd的方式 win+r 键 输入cmd 管理员方式运行 打开桌面 命令提示符 盘符切换 直接输入要切换的盘 查看当前目录下所有文件 dir 切换目录 cd /d 跨盘 ...
- DRF提供的请求与响应类
一 内容协商 drf除了在数据序列化部分简写代码以外,还在视图中提供了简写操作.所以在django原有的django.views.View类基础上,drf封装了多个视图子类出来提供给我们使用. Dja ...
- MySQL如何指定字符集和排序规则?
在MySQL中,可以使用以下两种方式指定字符集和排序规则: 创建数据库或表时指定字符集和排序规则 在创建数据库或表时,可以使用 CHARACTER SET 和 COLLATE 选项指定字符集和排序规则 ...