Mysql导入导出时遇到的问题解决
作者:sixgo 发布时间:2024-01-22 02:28:06
背景
自从把我手上的任务全部转换成docker运行和管理之后,遇到了一系列的坑,这次是mysql备份的问题。
原因是启动mysql镜像的时候没有指定-v,导致一段时间之后docker很大,原来的磁盘不够了,需要迁移到新磁盘。
在使用导入导出的时候出现了一些问题,浪费了很多时间去解决。
解决过程
定位mysql镜像过大
查看容器占用的空间
```docker system df```
查看详细信息
Local Volumes space usage:
VOLUME
NAME LINKS SIZE
3e764b0633ea2c3f3dc5b0bf79dc753055d7c09451b477d3015650c66ea4a5fb 0 0B
598a592e1f9d90d2564c7c52f45f6f6a96784ad0426ec60682299fa1a1b93b96 0 0B
5eb12b3b0091810bbe3c94c5801ad2f2ff51d79b69b0ac01eb37cf00d37d89f6 0 0B
admin_logs 0 0B
f42e3ef90e4c7b3658a0fb4a877e90b298b12cb58cd63f38d9b4ad5c2ab41d73 0 0B
3361b9c615e09708170018dc7d170b8d4b498dd83cbcb155a3d41234d08e8119 1 9.3G
此时根据上面返回的信息,只有两个容器有VOLUMES,一个是mysql,还一个是redis,所以使用docker inspect container_id命令查看具体容器具体的信息,发现确实是9.3G的那个Volume。
CONTAINER ID IMAGE COMMAND LOCAL VOLUMES SIZE
cb76bbc211e6 mysql "docker-entrypoint.s…" 1 7B
备份mysql到新挂的盘
```docker exec -it mysql mysqldump -u用户名 -p密码 数据库 > /mnt/vdb/data/mysql/test_db.sql```
用户名、密码和数据库自己修改
导入mysql
1. 为了保证之前的数据还在,所以另起一个mysql容器,并且使用-v映射到宿主机。
2. 然后执行:docker exec -i mysqld mysql -uroot -proot federation < /mnt/vdb/data/mysql/fed_db.sql
错误来了
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the
right syntax to use near 'mysqldump: [Warning] Using a password on the
command line interface can be insec' at line 1
我搜索了很多的资料,都没有效果,于是决定使用图形化工具直接备份,于是使用navicat,备份,在新的镜像导入,并且导入成功。
这个里面的Rows,和我导入之后的显示的不一样
这个里面的Rows,和我导入之后的显示的不一样
这个里面的Rows,和我导入之后的显示的不一样
WTF?总数1688,只显示1480?
进入到docker容器里面,使用命令行查询,确实是1688,确实是展示的Rows不对,So...
总结
使用docker时,要考虑好需不需要 * 卷,一般数据库的最好都 * ,备份迁移都很方便
不要过分依赖数据库的GUI,命令行才是最证实可靠的
实在不行,你狂加硬盘吧,反正都是在服务器上,但是要确保,服务器不会蹦,否则数据容易丢失。
好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。
来源:https://segmentfault.com/a/1190000020211225


猜你喜欢
- 前言最近在工作中遇到一个需求,就是要把SQLite数据中没有存储的文件名的文件删除掉,想来想去还是决定用python。所以也就花了一天半的时
- 下面我们将学习两个项目案例代码,分别解决Excel常见场景中的数据筛选问题和数据匹配问题。数据筛选要求我们在表中筛选出符合条件的数据。数据匹
- aspImage是ServerObjects站点上非常好的一个组件,它可以使我们利用Asp实现很多对于图形的处理功能,他的功能强大,如果你需
- 1. 引言本文重点介绍Python中的三个特殊函数Map,Filter和Reduce,以及如何使用它们进行代码编程。在开始介绍之前,我们先来
- 今天有个需要需要传递中文参数给URL但是在GBK环境下的脚本传递GBK的参数老是给我报UNICODE的解码错误。烦的很。所以我们果断选择用u
- watch除了可以监听数据的变化,路由的变化也能被其监听到效果如下:具体代码当路由发生变化后,在watch中写具体的业务逻辑let vm =
- 1.安装pyinstaller https://www.jb51.net/article/177160.htm2.安装pywin32 htt
- XMLHTTP对象及其方法------------------MSXML中提供了Microsoft.XMLHTTP对象,能够完成从数据包到R
- Celery (芹菜)是基于Python开发的分布式任务队列。它支持使用任务队列的方式在分布的机器/进程/线程上执行任务调度。架
- json的作用JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式json.dumps(): 对数
- 如下所示:>>> import numpy as np>>> x = np.array([1, 2])&
- jquery的ajax请求方法:$.ajax({ &nbs
- yolov5的代码模型构建是通过.yaml文件实现的,初次看上去会一头雾水,这里记录一下,也方便自己后面用到的时候查看。以models/yo
- golang修改结构体中的切片值,直接传结构体地址就可以package mainimport "fmt"type rsp
- python生成随机数都有哪些办法呢使用 random 模块:random模块是python内置的模块,使用方法如random.randin
- 为什么需要线程锁当我们访问一些特殊的数据时,需要保证该数据的原子性,比如: 文章的阅读量、文章的点赞量等。我们必须要确保这些共享数据必须是原
- 1、工作流程步骤(1)用spawn来执行一个程序;(2)用expect方法来等待指定的关键字,这个关键字是被执行的程序打印到标准输出上面的;
- 废话少说,直接上SQL代码(有兴趣的测试验证一下),下面这个查询语句为什么将2008-11-27的记录查询出来了呢?这个是同事遇到的一个问题
- 本文实例讲述了Python实现压缩与解压gzip大文件的方法。分享给大家供大家参考,具体如下:#encoding=utf-8#author:
- 对匿名用户采用 IP 控制访问频率,对登录用户采用 用户名 控制访问频率。from rest_framework.throttling im