Mysql导入导出时遇到的问题解决
背景
自从把我手上的任务全部转换成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,备份,在新的镜像导入,并且导入成功。


总结
使用docker时,要考虑好需不需要外挂卷,一般数据库的最好都外挂,备份迁移都很方便
不要过分依赖数据库的GUI,命令行才是最证实可靠的
实在不行,你狂加硬盘吧,反正都是在服务器上,但是要确保,服务器不会蹦,否则数据容易丢失。
好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对免费资源网的支持。
您可能感兴趣的文章
- 12-31hiredis从安装到项目实战操作
- 12-31phpmyadmin登录时怎么指定服务器ip和端口
- 12-31MySQL线上死锁分析实战
- 12-31MySQL 触发器的使用和理解
- 12-31MySQL 字段默认值该如何设置
- 12-31Redis主从同步配置的方法步骤(图文)
- 12-31MySQL 字符串拆分操作(含分隔符的字符串截取)
- 12-31redis 交集、并集、差集的具体使用
- 12-31MySQL精讲之二:DML数据操作语句
- 12-31PostgreSQL判断字符串是否包含目标字符串的多种方法


阅读排行
推荐教程
- 12-23PL/SQL登录Oracle数据库报错ORA-12154:TNS:无法解析指定的连接标识符
- 12-23使用imp和exp命令对Oracle数据库进行导入导出操作详解
- 12-11mysql代码执行结构实例分析【顺序、分支、循环结构】
- 12-08添加mysql的用户名和密码是什么语句?
- 12-05mysql的事务,隔离级别和锁用法实例分析
- 12-23详解Oracle游标的简易用法
- 12-20PhpMyAdmin出现错误数据无法导出怎么办?
- 12-19Redis中实现查找某个值的范围
- 12-15浅析mysql迁移到clickhouse的5种方法
- 12-15CentOS7 64位下MySQL5.7安装与配置教程




