簡體   English   中英

在容器中恢復 Percona Xtradb

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM