ダーク/ライト切り替え

備忘録】Docker-Compose上に動いているデータベースの定期バックアップ【初心者】

投稿日2024-02-16

Picture of the logo


目次

目次を読み込み中...

タイトルのとおり、Docker-Compose上に動いているMysql(またはMariadb)のバックアップを取る手順について備忘録も兼ねて書き残しておきます。ちなみに、主の環境はubuntu+docker+mariadbです。mysqlかmariadbかは好みによって好きな方を選んで構いません。

# 1 docker-compose.ymlの記述と起動

特別な記述は一切無い最低限のシンプルなサンプルコードです。実際の運用は用途や状況に合わせて書き換えて下さい。公開するポートも3306からは変えても良いかもしれません。

上記の設定でdocker-compose up -dしたと仮定します。

# ダンプファイルの保存

通常、mysqlの保存はダンプファイルという形でバックアップが取られます。ここではdocker-compose内で動いているmysqlに対し、ホスト側からバックアップを取るシェルスクリプトを用意します。

ファイルパスやファイル名の命名規則、ユーザー名パスワードなどは自分の環境や状況に合わせて書き換えて下さい。バックアップは最新の5件を残すようにしているので6件目以降を削除するようにしています。仮に10件残すのであれば11件目以降を削除するように適宜書き換えて下さい。

シェルスクリプトが出来上がったら一度テストして問題ないようであればcrontabで毎日0時0分に実行とすれば一日一回バックアップが取られるようになります。時間は0時0分でなくとも構いませんが。

# 出来れば他のストレージに

今回はお試しなので同じサーバ(またはPC)上に保存ですが、可能な人はAWS S3などの別の場所に保存するようにした方が良いでしょう。

# 保存されたダンプファイルからデータベースを復元する

万が一、データベースが致命的なダメージを受けた時はバックアップデータの出番です(一生に一回あるかどうかって話だと思いますが)。バックアップされたダンプファイルからデータベースとして復元するまでの手順も書き残しておきます。

子のスクリプトでdocker-compose上に動くmysqlを復元する事が出来るでしょう。こちらもファイルパス、ファイル名やユーザー名パスワード等は環境に合わせて書き換えて下さい。バックアップを使う機会はほとんど無いと思いますがお守り代わりに覚えておくといいでしょう。






関連記事

【Docker】Alpine Linux版Pythonにmysqlclientをインストールするとき

blog

Alpine LinuxでMySQLを使用するためには、MySQLのクライアントライブラリであるmysqlclientをインストールする必要があります。依存関係の解決に手こずったので備忘録も兼ねて書き残しておきます。

【Rust】Tonicでgrpcの接続テストをするまで【初学者】

blog

VscodeでrustのDev Containerを作り、Tonicを使ったgrpcサーバとクライアントを作り、接続テストをしてみる。接続の結果、お馴染みのHello worldが表示される。

【VPN】OpenVPNサーバーを立ち上げて自分専用VPNを作る

blog

このブログ記事では、クラウド上のUbuntu LinuxホストにDocker Composeを使ってOpenVPNサーバーを構築し、自分専用のVPN環境を作る方法を紹介します。コンテナ技術を用いることで、ホストOSへの影響を最小限に抑えながら、簡単にVPNサーバーを立ち上げることができます。

tor-privoxyをdockerで運用してみた備忘録

blog

TorとPrivoxyを使ってプライバシーを保護した通信を行うため、`tor-privoxy`コンテナをDockerで運用する方法を紹介します。設定ファイルのテンプレートや具体的な利用方法について記録しています。

docker-composeで簡易リバプロ環境構築【備忘録】

blog

docker-composeを使って手軽にnginx、リバースプロキシを構築する手順を書き残しました。個人的備忘録

2024年夏版】Windowsからの乗り換え先Linuxはコレ!【独断と偏見】

blog

2024年夏現在のWindowsからの乗り換え候補を調査してみました。10以上のディストリビューションを試してみて、その使用感を個人の独断と偏見で纏めてみましたので、Linuxへの移行を考えている方は参考にしてみて下さい。

複数のNext.jsプロジェクトを別々のdockerコンテナで構築し、nginxリバースプロキシ

blog

同一ドメインのサブディレクトリにNext.js ウェブアプリをそれぞれ独立したdockerコンテナで起動し、更にNGINXで振り分けるまでに詰まった事を備忘録も兼ねて書き残しておきます。

Dockerを使ってNGINX→WordPressを構築する備忘録

blog

この記事では、Dockerを使用してNGINXとWordPressを組み合わせた環境を構築する方法を紹介します。NGINX→WordPressの構成を採用することで、パフォーマンスの向上とセキュリティの強化を実現します。

UNITYからMYSQLデータベースにアクセスする【初心者向け】

blog

UnityからMySQL等のデータベースにアクセスする簡単なサンプルプログラムを紹介します。若干Java Scriptの知識も必要になります。


スポンサーリンク

このサイトをシェアする