我在容器上运行 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容器仍然运行?
答案 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现在可以正常工作。