MySQL数据库迁移

文章描述了一个通过mysqldump将数据库导出为SQL文件,然后通过Docker在不同服务器间转移文件,最终在新服务器上导入数据的过程。作者还提到使用Navicat可以更直接地迁移数据库,避免了文件周转的步骤。
摘要由CSDN通过智能技术生成

考试系统的数据库一直是在我自己的服务器上面的, 但是最近,自己的服务器马上要过期了,里面的MySQL数据需要迁移出来,放在另外一个服务器上面。

百度了几篇教程,也没研究太多,选了一种比较简单的方式进行迁移,下面是具体步骤

导出老数据库数据

把老数据库导出貌似有好几种方式,我选的是把MySQL的一个个库转化成SQL文件

具体操作如下

先进入容器中
docker exec -it 35273f12fb4b bash
把数据转化为sql语句
mysqldump -uroot -p 数据库名称  > /root/mysqldump/exam.sql

然后输入MySQL的密码即可

然后查看一下/root/mysqldump/exam.sql 里面已经有大量的sql语句了

把sql文件从容器中拷贝出来

有两种方式,一是使用容器挂载,最初的时候,启动MySQL容器的时候没有挂载这个目录,所以需要重新挂载一下,但是我觉得这种方式有些危险,换了另外一种方式:直接拷贝到宿主机即可

首先退出容器

docker cp 容器id:容器内路径 宿主机目标路径 
docker cp 35273f12fb4b:/root/mysqldump/exam.sql /usr/local/exam.sql

然后sql文件就被拷贝到了宿主机上面

把sql文件从老服务器上面转移到新服务器上面

我们可以使用x-shell分别连接两个服务器,然后直接拖拽过去即可

从新服务器移动到容器内部中

在新服务器中把sql文件导入新的数据库

mysqldump -uroot -p exam < /exam.sql
使用navicat查看数据是否成功

总结

这种方法还是挺好理解的,就是旧的mysql数据库里面导出来sql文件需要经过好几个地方周转,整体来说还算顺利。

========================2023年3月10日 15:50:06补充=================

使用navicat看了一下,发现navicat可以直接迁移数据库,我们直接把老服务器的库里面的表拖拽到新的服务器的数据库里面,然后navicat就会弹出选项,让我们直接选择要迁移的表格,我们直接勾选全部,就完成了数据库迁移。

参考文章:

MySQL数据库--几种数据迁移的方法详解都在这了!看完必懂_mysql数据迁移_普通网友的博客-CSDN博客

宿主机复制文件到docker容器(centos)_contos 文件考进容器中_--悟_道--的博客-CSDN博客

Docker 从容器中拷贝文件到宿主机中_从docker里面拷贝文件_桑汤奈伊伏的博客-CSDN博客

docker对已经启动的容器添加目录映射(挂载目录)_docker 目录映射_alwaysonline819的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值