MariaDB: 高度な利用方法
MariaDBデータの設定、最適化、エクスポート、インポート方法
👋 Stackhero ドキュメントへようこそ
Stackhero では、本番環境に最適化されたすぐに使える MariaDB クラウド サービスをご用意しています。主な特長は以下の通りです:
- 無制限の接続数とデータ転送。
- データベース管理用の phpMyAdmin Web インターフェースを標準搭載。
- ワンクリックでの アップデートにより、メンテナンスも簡単。
- 専用のプライベートインフラ上での高いパフォーマンスと強固なセキュリティ。
数分でフルマネージドの MariaDB インスタンスを立ち上げ可能です。 Stackhero がセットアップ、アップデート、セキュリティ対策をすべて管理するため、アプリケーション開発に集中できます。MariaDB クラウドホスティングの詳細はこちら。
MariaDBの最大接続数の設定
Stackheroでは、サーバーが処理できる同時接続数に固定の制限はありません。この値はStackheroダッシュボードから直接柔軟に調整できます。
非常に高い接続数の上限を設定したくなるかもしれませんが、実際の利用状況に合った数値を選択することをおすすめします。各接続はメモリ(RAM)を消費するため、上限を高くしすぎるとシステムリソースが枯渇し、クラッシュする可能性があります。
InnoDBまたはMyISAMエンジン向けのMariaDB最適化
データベースがInnoDBストレージエンジンを使用している場合は、ダッシュボードで「InnoDB Optimizations」オプションを有効にすることで、InnoDBベースのワークロードのパフォーマンス向上が期待できます。
MyISAMストレージエンジンを利用しているデータベースの場合は、「MyISAM Optimizations」オプションを有効にすることで同様にメリットがあります。
どちらのオプションがご自身の環境に最適か分からない場合、最初は両方を有効にしておくのが一般的に安全です。その後、リソース使用状況やパフォーマンスを監視しながら、必要に応じていずれかまたは両方を無効化してメモリ(RAM)を節約できます。
クエリキャッシュ
MariaDBのクエリキャッシュは、Stackheroダッシュボードから簡単に有効化できる便利な機能です。通常は有効のままにしておくことが推奨されます。ただし、データベースがリードよりもライト処理が多い場合や、メモリ使用量を最小限に抑えたい場合は、無効化を検討しても良いでしょう。
MariaDB CLI(mysql、mysqldumpなど)の利用
mysqlやmysqldumpなどのMariaDBコマンドラインツールは、データのインポートやエクスポートなどの作業に不可欠です。
これらのツールをDockerコンテナ内で実行することで、セットアップが簡単になり、PCに直接ソフトウェアをインストールせずに済みます。
Dockerをワークフローに組み込んでいなくても問題ありません! 代わりにStackheroのCode-Heroをお試しください。 Code-Heroは、ブラウザ上で動作するフル機能の開発プラットフォームで、ローカルインストールは不要です。 詳細やご利用開始方法はStackheroのCode-Heroをご覧ください。数分で始められます。
Dockerを使い始めるには、以下のコマンドでMariaDBコンテナを起動できます:
docker run -it -v $(pwd):/mnt mariadb:<MARIADB_VERSION> /bin/bash
<MARIADB_VERSION>は必要なMariaDBのバージョンに置き換えてください。たとえば、Stackhero上でアプリケーションがMariaDBバージョン10.11.6-0を利用している場合は、10.11.6(-0サフィックスは省略)を指定できます。
コンテナが起動したら、次のコマンドで接続を確認できます:
mysql -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT>
コンテナ起動時、現在のディレクトリが/mntとしてコンテナ内にマウントされます($(pwd):/mntによる)。つまり、PC上のカレントディレクトリ内のファイルは、コンテナ内の/mntに表示されます。たとえば、MariaDBのデータベースをバックアップしてPCに保存したい場合、コンテナ内で以下のコマンドを実行すると、バックアップが/mnt/<DATABASE>.sqlとして保存されます:
mysqldump -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> > /mnt/<DATABASE>.sql
MariaDBデータベースのダンプ
mysqldump CLIをPCから利用してデータベースをダンプできます。詳細な手順は上記セクションをご参照ください。
MariaDBデータベースをPCにエクスポートする
StackheroインスタンスからPCへデータベースをエクスポートするには、以下のコマンドを使用します:
mysqldump -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> > <DATABASE>.sql
<XXXXXX>.stackhero-network.com、<PORT>、<DATABASE>はご自身の情報に置き換えてください。Enterキーを押すと、mysqldumpがrootパスワードの入力を求めます。その後、データベース内の全テーブルが<DATABASE>.sqlファイルにエクスポートされます。
MariaDBデータベースをサーバーにインポートする
PCからStackheroインスタンスへデータベースをインポートするには、以下のコマンドを利用します:
mysql -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> < yourDump.sql
yourDump.sqlは、StackheroインスタンスにインポートしたいSQLファイル名に置き換えてください。