这几天遇到一个数据迁移的需求,要把老服务器的数据迁移到新的服务器上去,因为Mysql是放在Docker里面的,所以只需要迁移配置文件和数据卷即可,但是这过程中并不是一帆风顺的,特此记录一下。
从旧的服务器上查看Mysql容器的信息。
首先使用docker ps来查看正在运行的容器,如果你的容器尚未运行,那么执行这条命令docker ps -a
使用docker inspect ContainName查看Mysql容器的信息
image.png
image.png
Mounts里面有数据卷的信息,它存放着这个容器的数据,所以我们前往这些路径,把文件发送到新的服务器即可。
发送文件可以用scp local_file remote_username@remote_ip:remote_folder进行发送,以下是示例:
scp ibdata1 root@ip:/data/mysql-data
将配置文件和数据迁移过来后,还需要迁移一个关键的文件,就是mysql安装目录data里的 ibdata1
ibdata用来储存文件的数据,而库名的文件夹里面的那些表文件只是结构而已,由于新版的mysql默认为innodb,所以ibdata1文件默认就存在了,少了这个文件有的数据表就会出错。
准备完毕后ÿ