在容器中恢复Percona Xtradb

时间:2017-02-11 13:36:49

标签: mysql docker percona xtradb

我在容器上运行 Percona Xtradb Cluster

我停下了容器然后启动它。

我有错误:

  

2017-02-11T13:12:00.423566Z 0 [ERROR]找到1个准备好的交易!   这意味着mysqld上次没有正常关闭并且很关键   手动删除恢复信息(最后一个binlog或tc.log文件)   崩溃后你必须使用--tc-heuristic-recover启动mysqld   切换到提交或回滚挂起的事务。

     

2017-02-11T13:12:00.423739Z 0 [ERROR]正在中止

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

我的问题是:

  • 如何解决此问题不是run新容器而是start现有容器?

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

1 个答案:

答案 0 :(得分:1)

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

要查找存储位置,请使用EditText editText = (EditText) findViewById(R.id.editText); editText.setTextIsSelectable(true); ,然后在输出中搜索docker container inspect YOUR_CONTAINER_NAME。如果您安装了Mounts,则可以使用

之类的内容
jq

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

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

这样的东西
$ docker container inspect YOUR_CONTAINER_NAME | jq ".[0].Mounts"

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

完成后,您可以删除此容器,并希望percona现在可以正常工作。