[英]Recover Percona Xtradb in container
我在容器上運行Percona Xtradb Cluster 。
我停止了容器,然后啟動了它。
我有錯誤:
2017-02-11T13:12:00.423566Z 0 [錯誤] 發現 1 個准備好的交易! 這意味着mysqld上次沒有正確關閉,並且在崩潰后手動刪除了關鍵恢復信息(最后一個binlog或tc.log文件)。 您必須使用 --tc-heuristic-recover 開關啟動 mysqld 才能提交或回滾掛起的事務。
2017-02-11T13:12:00.423739Z 0 [錯誤] 中止
該消息說我需要mysqld --tc-heuristic-recover
但容器在 mysql 無法啟動后停止。
我的問題是:
如何解決此問題而不是run
新容器而是start
現有容器?
有沒有辦法讓 Docker 容器在主進程( mysqld
)停止后仍然運行?
該容器使用卷(請參閱此處),因此您的數據不在容器內。
要找到它的存儲位置,請使用docker container inspect YOUR_CONTAINER_NAME
,並在輸出中搜索Mounts
。 如果你安裝了jq
你可以使用類似的東西
$ docker container inspect YOUR_CONTAINER_NAME | jq ".[0].Mounts"
找到存儲數據的目錄后,您應該創建一個備份。
然后,您可以創建一個新容器,並綁定到該目錄。 就像是
$ docker run -it -v VOLUME_PATH:/var/lib/mysql OTHER_OPTIONS_HERE image_name /bin/sh
這應該為您提供一個 shell,您可以在其中執行您可能需要的任何命令。
完成后,您可以刪除這個容器,希望 percona 現在應該可以工作了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.