2017-02-11 6 views
2

私はPercona Xtradb Clusterをコンテナに入れています。コンテナ内のPercona Xtradbを回復する

コンテナを停止してから起動しました。

私がエラーを持っている:

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は起動に失敗した後の容器が停止することを言います。

私の質問は以下のとおりです。

  • 私はないrun新しいコンテナが、start既存のものにこの問題を解決することができますか?

  • メインプロセス(mysqld)が停止した後でもDockerコンテナを実行する方法はありますか?

+0

データがコンテナ(元ボリューム)の外にあるとすると、fixコマンドを使用して新しいコンテナを作成しないでください。 – Salem

+0

いいえ、データはコンテナの内側にあります。 –

+0

どちらの画像を使用していますか? – Salem

答えて

1

このコンテナはボリュームを使用します(here参照)ので、データはコンテナ内にありません。

格納先を調べるには、docker container inspect YOUR_CONTAINER_NAMEを使用し、出力でMountsを検索します。あなたはjqがインストールされている場合は、

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

のようなものを使用することができますが、データが格納されているディレクトリを見つけたら、あなたはバックアップを作成する必要があります。

次に、そのディレクトリにバインドされた新しいコンテナを作成できます。何かのように

これは、必要なコマンドを実行できるシェルを提供します。

完了したら、このコンテナを削除して、ペルコナが動作するはずです。

関連する問題