加入收藏 | 设为首页 | 会员中心 | 我要投稿 航空爱好网 (https://www.52kongjun.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

如何解决Mysql导入导出时碰到的问题

发布时间:2022-02-10 13:50:00 所属栏目:MySql教程 来源:互联网
导读:这篇文章给大家分享的是有关如何解决Mysql导入导出时遇到的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 背景 自从把我手上的任务全部转换成docker运行和管理之后,遇到了一系列的坑,这次是mysql备份的问题。 原因是启
       这篇文章给大家分享的是有关如何解决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,备份,在新的镜像导入,并且导入成功。

(编辑:航空爱好网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!