各レンタルサーバー会社のサービス会社の特徴によく記載されているMySQLの作成数
でも、MySQLをたくさん作れると一体どんな得があるのか?
WordPressを利用する上でMySQLが必要らしいけど、MySQLはどんな役割のために必要なのか?
それ以前に、MySQLとは一体なんなのか?
そこで、この記事では以下のことについてまとめてみました。
この記事で紹介することについて
- MySQLとは一体なんなのか
- WordPressにおけるMySQLの役割について
- サイト数とMySQL数の関係について
- 1個のMySQLでマルチサイトを運営するデメリットとは
- Mixhostで利用できるMySQLの上位互換MariaDBとは
ざっくりとした解説ではありますが、これさえ読めばMySQLとWordPressの関係が分かります。
ですので、レンタルサーバーでWordPressでサイトを作って運営しようと思っている人は読んでみてください。
マルチドメイン無制限のレンタルサーバーを借りたから、これで思う存分WordPressでサイトを作れるぜ。
残念だけど、マルチドメイン無制限だけじゃ無限にサイトを作ることはできないよ。
なんでだよ。マルチドメイン・ディスク容量・転送量の制限に問題なければ、思う存分サイトを作れるんじゃないのか?
その3つの他にWordPressを利用するために使うMySQLの数も関係してくるからだよ。
どういうことなんだ?
それを今から説明していくよ。
MySQLとは?
MySQLはひとことで言うとデータベースの1つです。
まず「データベース」ってなんなんだ?そこからもう分からないぜ。
「データベース」をひとことで言うと、大量のデータをしまっておくタンスのようなものです。
■WordPressで使うMySQLをタンスに例えた場合
MySQLと似たような役割と持っていて我々が使うもので例えれば、「USBメモリ」・「SDカード」・「外付けハードディスク」のようなものだと思って頂いて問題ありません。
また、MySQLは低コストかつ大量のデータでも高速に動作できるのでいろんなシステムに使われており、世界でもっとも利用されているデータベースでもあります。
WordPressにおけるMySQLの役割
レンタルサーバーを借りてサイトを作って運営するならWordPressを利用するのが簡単で便利です。
そして、WordPressを使うためにはデータベースが必要となり、そのデータベースにMySQLが使われているわけです。
WordPressにおけるMySQLの役割は、以下のデータを格納して利用することです。
MySQLで格納しているデータ
- 記事の内容
- タグの内容
- カテゴリの内容
- メニューの内容
- コメントの内容
- ウィジェット情報
- WordPressのユーザー情報
WordPressでサイトを運営する上で必要な情報ばっかりじゃないか。
そうなんだよ。だからWordPressをやるためにはMySQLが必要になるってことだね。
また、MySQLが使えない状態でWordPressを使おうとしても動作エラーとなるため使うことはできません。
なるほどな。WordPressを使うならMySQLのようなデータベースは必須ってことだな。
そういうことだね。
データベースはMySQLでなくてもよい?
WordPressを利用するために必要なデータベースは必ずしもMySQLである必要はありません。
しかし、MySQLはデータベースの中でも低コストで性能が良いことから、ほとんどレンタルサーバー会社でMySQLを提供しています。
MySQL以外だと「SQLite」や「PostgreSQL」でWordPressは動作させることができます。
しかし、レンタルサーバー会社が用意している自動WordPressインストール機能で使われるデータベースはMySQLとなっています。
ですので、「SQLite」や「PostgreSQL」を無理に使ってWordPressを利用するのはプログラムやサーバー知識の無い初心者にはハードルが高くおすすめできません。
サイト数とMySQL数の関係
WordPressで1つサイトを作ろうと思ったら、MySQLはいくつ必要になるんだ?
基本的にWordPressで1サイト作ろうとすると、1個のMySQLが必要になります。
つまり、WordPressで50サイト作ろうとすると、50個のMySQLが必要となります。
WordPressにおいて、作るサイト数とMySQL数は「1:1」になることを覚えておこう。
マルチサイトも1個のMySQLでも可能?
なあ、1個のMySQLだけで複数のサイトを作ることはできないのか?
じつは、1個のMySQLで複数のサイトを作って運営することもできます。
ですので、たとえば20個までしかMySQLが作れなかったとしても、5サイトで1個のMySQLを使えば100サイトの運営も可能となります。
1個のMySQLでマルチサイトを運営するデメリット
マルチ(複数)サイトを1個のMySQLで動かせば運用するMySQL数の節約になるのは確かなメリットです。
しかし、マルチ(複数)サイトを1個のMySQLで動かすのはデメリットも存在します。
サイトの表示が遅くなる
マルチ(複数)サイトを1個のMySQLで動かす場合、1サイト1個のMySQLを使うよりもMySQLに格納されるデータ量は多くなります。
そのため、サイトを表示するために必要なMySQLから記事データなどを取得する速度も遅くなり、ひいてはサイトの表示まで遅くなってしまいます。
サイトが落ちる
サイトの表示が遅くなるだけならまだマシで、さらに過剰なサイト数を1個のMySQLで運用することでMySQLに格納されるデータ量がさらに膨大になった場合。
サイトを表示するために必要な記事データなどの取得処理に失敗するようになってしまい、その結果サイトが落ちてしまって閲覧不能となってしまいます。
MySQLのデータ量が膨大になることで、必要なデータが取得できなくなる現象を「接続タイムアウトエラー」というよ。
レンタルサーバー会社からMySQLサイズ制限がかかる
1つのMySQLで格納するデータ量が膨大になって、MySQL自体のサイズ(使用量)が大きくなりすぎた場合。
レンタルサーバー会社からMySQLのサイズ制限がかかってしまい、これ以上データを格納できなくなってしまいます。
データが格納できなくなってしまうとWordPressで新しく記事を作ったり、カテゴリ・タグ・画像などの追加もできなくなります。
データが格納できないとWordPressで新しく記事を作ったり、カテゴリ・タグ・メニュー・画像などの追加もできなくなるよ。
また、MySQLサイズ制限はレンタルサーバー会社によって違っており、たとえばエックスサーバーですと以下のようになっています。
MySQLデータベース1個につき、ご利用いただける容量の目安は「1GB」です。
※この容量を著しく超過する場合やDBの負荷が大きい場合、リソース制限の対象となる場合があります。
エックスサーバーのデータベース仕様一覧より
バックアップによる復元が難しくなる
同じMySQLで運営しているマルチサイトのうち、どれか1つのサイトが不具合となり、バックアップデータを使ってサイトを復元するときも注意が必要です。
なぜなら、バックアップデータを使って復元するということはMySQLのデータも不具合が起こる前の状態に戻すということです。
つまり、MySQLに保存されていた不具合が発生したサイト以外のデータも元に戻ってしまうことになります。
このように1個のMySQLでマルチサイトを運営している場合、各サイトで更新が発生するたびにバックアップを取っておかないと、復元時に他のサイトが前の状態に戻ってしまうことになります。
1個のMySQLで複数サイトの運営する場合、バックアップの管理がすごく大変になるよ。
Mixhostで使われているMariaDBとは?
なあ、MixhostのデータベースはMySQLではなくMariaDBになってるんだが、MariaDBってなんだ?
MariaDBをひとことで言うと「MySQLと姉妹関係にあり性能はMySQLより上を行くデータベース」だよ。
MariaDBはMySQLの派生として開発されたデータベースで、MariaDBとMySQLは高い互換性(非常に似た構造)をしています。
もともとMySQLとMariaDBは開発者は同じであり、名前の由来も作者の長女(My)と次女(Maria)の名前から名づけられているため、姉妹関係のようなデータベースとも言えます。
また、両データベースは非常に似ている存在のため、MySQLの純粋な上位版がMariaDBとも言えます。
ようするにMySQLの正当な後継版だから、MySQLと同じような扱いで問題ないってことか。
その認識であってるよ。
まだ国内レンタルサーバーでMariaDBを採用しているレンタルサーバー会社は少ないですが、MySQLと変わらずに利用できるので、MariaDBだからといって不安視する必要はありません。
むしろ、「MySQLの上位版を使ってるラッキー」程度に思っておくといいよ。
まとめ
レンタルサーバーにおけるMySQLについては以下のことを覚えておけばOKです。
レンタルサーバーにおけるMySQL
- WordPressでサイトを作るときにはMySQLが必要となる
- 1サイトで1個MySQLにすると安全運営ができて、バックアップによる復元も簡単にできる
- マルチ(複数)サイトで1個のMySQLを供用して使うこともできるが、デメリットがある。
- MariaDBはMySQLを性能アップした後継版の認識で問題ない
また、各レンタルサーバー会社のプランごとにMySQLを作れる数の制限が違います。
WordPressでサイトを作って運営するためにレンタルサーバーを借りるときは、MySQLの作れる数も必ず確認しよう。
この記事はここまです。
最後まで読んで頂きありがとうございました。
コメント