将MySQL / var / lib / mysql移至共享卷

问题描述 投票:0回答:1

我正在Synology nas上的Docker中运行带有MySQL 8.0.18的容器。我只是用它来支持那个盒子上的另一个容器(Mediawiki)。 MySQL在路径/var/lib/mysql上安装了一个卷。我想将其移至共享卷,以便可以通过File Station访问它并定期备份它。如何在不破坏MySQL的情况下将其移动到下面显示的docker共享中?

enter image description here

此处是Synology nas上的可用共享。

enter image description here

或者,是否有一种方法可以将/ var / lib / mysql复制到共享的docker文件夹?这对于定期备份也应适用。

谢谢,鲁斯

docker synology
1个回答
0
投票
  1. 停止当前容器以确保mysql未运行。
  2. 创建一个虚拟的临时容器,在其中装入2个所需的卷。我倾向于将用户busybox用于此类任务=> docker run -it --rm --name temp_mysql_copy -v mediaviki-mysql:/old-mysql -v /path/to/ttpe/docker:/new-mysql busybox:latest
  3. 复制所有文件=> cp -a /old-mysql/* /new-mysql/
  4. 退出虚拟容器(如果使用上面的命令,它将自动清除)
  5. [使用mysql:8创建一个新容器,将新文件夹安装在/var/lib/mysql中(您可能需要在syno docker gui中执行此操作。
  6. 如果一切正常,请删除旧的mediaviki-mysql音量
© www.soinside.com 2019 - 2024. All rights reserved.