docker MySQL的数据进行迁移步骤
·
假设数据库一开始运行的时候,代码如下所示:
docker run -d \
--name deeptest-mysql \
-e MYSQL_ROOT_PASSWORD=deeptest123456 \
-e MYSQL_DATABASE=deeptest \
-p 3307:3306 \
-v /data/mysql:/var/lib/mysql \
mysql:8.0
下面是数据库迁移的步骤
- 先暂停删除旧容器
docker stop deeptest-mysql
docker rm deeptest-mysql
- 启动临时容器
docker run -d \
--name temp-mysql \
-e MYSQL_ROOT_PASSWORD=deeptest123456 \
-v /data/mysql:/var/lib/mysql \
mysql:8.0
- 导出临时数据库
docker exec -i temp-mysql \
mysqldump -uroot -pdeeptest123456 --all-databases > /data/deeptest_backup.sql
- 停止并且删除临时容器
docker stop temp-mysql
docker rm temp-mysql
- 创建并且新建目录,启动新容器
mkdir -p /software/mysoftware/data/mysql
sudo chown -R 999:999 /software/mysoftware/data/mysql
sudo chmod -R 755 /software/mysoftware/data/mysql
docker run -d \
--name deeptest-mysql \
-e MYSQL_ROOT_PASSWORD=deeptest123456 \
-e MYSQL_DATABASE=deeptest \
-p 3307:3306 \
-v /software/mysoftware/data/mysql:/var/lib/mysql \
mysql:8.0
- 导入旧数据
docker exec -i deeptest-mysql \
mysql -uroot -pdeeptest123456 < /data/deeptest_backup.sql
最后,我们可以利用Vscode MySQL插件进行连接查看

更多推荐


所有评论(0)