背景 すべての業務を Docker の運用管理に移行してから、一連の落とし穴に遭遇しましたが、今回は MySQL のバックアップの問題でした。 原因は、mysql イメージの起動時に -v が指定されていなかったため、一定期間後に docker が非常に大きくなってしまったことです。元のディスクでは十分ではなく、新しいディスクに移行する必要がありました。 インポートとエクスポートの使用時にいくつか問題が発生し、解決に多くの時間が費やされました。 解決プロセス mysqlイメージの検索が大きすぎます コンテナが占めるスペースを表示する ```docker システム df``` 詳細を表示 ローカルボリュームのスペース使用量: 音量 名前 リンク サイズ 3e764b0633ea2c3f3dc5b0bf79dc753055d7c09451b477d3015650c66ea4a5fb 0 0B 598a592e1f9d90d2564c7c52f45f6f6a96784ad0426ec60682299fa1a1b93b96 0 0B 5eb12b3b0091810bbe3c94c5801ad2f2ff51d79b69b0ac01eb37cf00d37d89f6 0 0B 管理者ログ 0 0B f42e3ef90e4c7b3658a0fb4a877e90b298b12cb58cd63f38d9b4ad5c2ab41d73 0 0B 3361b9c615e09708170018dc7d170b8d4b498dd83cbcb155a3d41234d08e8119 1 9.3G この時点で、上記で返された情報によると、ボリュームを持つコンテナは 2 つだけで、1 つは mysql、もう 1 つは redis です。そのため、docker inspect container_id コマンドを使用して特定のコンテナの特定の情報を表示し、それが確かに 9.3G ボリュームであることを確認します。 コンテナID イメージ コマンド ローカルボリューム サイズ cb76bbc211e6 mysql "docker-entrypoint.s…" 1 7B 新しくマウントされたディスクにmysqlをバックアップする ```docker exec -it mysql mysqldump -u ユーザー名 -p パスワード データベース > /mnt/vdb/data/mysql/test_db.sql``` ユーザー名、パスワード、データベースの変更 mysqlをインポートする 1. 以前のデータがまだ残っていることを確認するには、別の mysql コンテナを起動し、-v を使用してホストにマップします。 2. 次に、docker exec -i mysqld mysql -uroot -proot federation < /mnt/vdb/data/mysql/fed_db.sql を実行します。 エラーが発生
いろいろ情報を探したのですが、役に立たなかったので、グラフィカル ツールを使用して直接バックアップすることにしました。Navicat を使用してバックアップし、新しいイメージにインポートしたところ、インポートは成功しました。
要約する Docker を使用する場合、外部ボリュームを使用する必要があるかどうかを検討する必要があります。一般的に、データベースには外部ボリュームを使用するのが最適であり、これによりバックアップと移行が非常に便利になります。 データベースGUIに頼りすぎないでください。コマンドラインは最も実績があり、信頼性があります。 本当にうまくいかない場合は、ハードドライブを多数追加できます。いずれにしても、それらはすべてサーバー上にあります。ただし、サーバーがクラッシュしないようにする必要があります。そうしないと、データが簡単に失われます。 さて、今回の記事は以上です。この記事の内容が皆さんの勉強や仕事に少しでも参考になれば幸いです。123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Vue プロジェクトのパッケージ化と最適化の実装手順
>>: Linux に Python 3.8.1 をインストールするための詳細なチュートリアル
1. 質問:最近、挿入操作を行っています。MySQLのバージョンは5.7です。挿入は成功しますが、エ...
よく知らないサーバーの場合や、かなり前にインストールした場所を忘れてしまった場合、構成ファイルの場所...
LinuxにMySQLがすでにインストールされているかどうかを確認する sudo service m...
目次1. 技術概要2. 技術的な詳細1. インターフェースからバックエンドデータを取得する2. フロ...
ポーテナーの紹介Portainer は、ステータス表示パネル、アプリケーション テンプレートの迅速な...
この記事では、Linux におけるいくつかの主要なゼロコピー テクノロジと、ゼロコピー テクノロジを...
目次序文TypeScript の列挙型とは何ですか? TypeScriptで列挙型を使用する際に注意...
1. CSS背景タグ1.背景色を設定するbackground-ground-color プロパティは...
この記事では、マウスの動きに追従する画像を実現するためのJavaScriptの具体的なコードを参考ま...
新しいコンピューターに変更したので、すべての環境を新しいコンピューター上で設定する必要があります。ふ...
translate(-50%,-50%) 属性:中央に配置するには、長さと幅の 50% だけ上と左...
<Head>タグに追加する<meta http-equiv="pragm...
Vue ルーティング this.route.push ジャンプ ページが更新されない1. 背景概要:...
<br />注目を集めるウェブサイトを作成するには、どのような原則に従うべきでしょうか?...
目次ERR 1067による殺人事件2番目の問題の原因はsql_modeです3. sql_modeを設...