gpt4 book ai didi

mysql - 在容器中恢复 Percona Xtradb

转载 作者:行者123 更新时间:2023-11-29 02:45:57 25 4
gpt4 key购买 nike

我有 Percona Xtradb Cluster 在容器上运行。

我停止了容器然后又启动了它。

我有错误:

2017-02-11T13:12:00.423566Z 0 [ERROR] Found 1 prepared transactions! It means that mysqld was not shut down properly last time and critical recovery information (last binlog or tc.log file) was manually deleted after a crash. You have to start mysqld with --tc-heuristic-recover switch to commit or rollback pending transactions.

2017-02-11T13:12:00.423739Z 0 [ERROR] Aborting

消息说我需要 mysqld --tc-heuristic-recover 但容器在 mysql 启动失败后停止。

我的问题是:

  • 如何解决此问题而不是运行新容器,而是启动现有容器?

  • 有没有办法让Docker容器在主进程(mysqld)停止后仍然运行?

最佳答案

该容器使用卷(参见 here ),因此您的数据不在容器内。

要找到它的存储位置,请使用 docker container inspect YOUR_CONTAINER_NAME,并在输出中搜索 Mounts。如果你安装了 jq,你可以使用类似的东西

$ docker container inspect YOUR_CONTAINER_NAME | jq ".[0].Mounts"

找到存储数据的目录后,您应该创建备份

然后您可以创建一个新容器,并绑定(bind)到该目录。有点像

$ docker run -it -v VOLUME_PATH:/var/lib/mysql OTHER_OPTIONS_HERE image_name /bin/sh

这应该会为您提供一个 shell,您可以在其中执行您可能需要的任何命令。

完成后,您可以删除这个容器,希望 percona 现在应该可以工作了。

关于mysql - 在容器中恢复 Percona Xtradb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42176480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com