Xserverが今なら最大50%OFF! 2022年11月25日(金)12:00まで

MySQLユーザーの追加設定可能な上限数に達しているため追加できません。を解消する

この記事は約6分で読めます。
本文は約3610文字です

エックスサーバーは以前は契約プラン毎にMySQLの利用可能数に制限がありました。でもその後、改善されて、エックスサーバーは1サーバー当たりで利用可能なMySQL数は無制限となっています。

エックスサーバーでMySQLが無制限になったニュース

ですが、緩和されたのMySQL数だけで、MySQLユーザー数はまだ制限があります。

WordPress簡単インストールから、Wordpressをインストールしようとすると、以下のようなメッセージが赤文字で表示されることがあります。

MySQLユーザーの追加設定可能な上限数に達しているため追加できません。

実は、MySQLユーザー数は50個までしか追加できません。

エックスサーバーはWordpress簡単インストールからインストールしたWordpressのアンインストールに対応していますが、Wordpress用に作成されたDBやユーザーは削除されない仕様です。

そのため、何度かWordpressのインストール、アンインストールを繰り返していると、MySQLとユーザーがどんどん増えていき、最後にはリミットに到達します。

この記事では、エックスサーバーでMySQLユーザーを効率的に削除する方法や、既存のデータベースを使用する時の注意点をまとめておきます。

この記事の内容

エックスサーバーのWordpress簡単インストールの問題点

エックスサーバーはDBのtable_prefixが”wp_”固定

エックスサーバーは、table_prefixが”wp_”で固定です。

table_prefixというのは、wp-config.phpに書かれているものです。

エックスサーバーでWordpressをインストールする際、初期設定では

  • 1サイト毎に新規データベースを用意
  • 新規データベースに接続するMySQLユーザーを新規に用意
  • table_prefixは”wp_”固定

となります。

既存のデータベースを使ってWordpressインストールすると他のサイトが壊れる

table_prefixは、データベーステーブルの接頭辞で、同一データベースを複数のサイトで使う時にはこのtable_prefixを変更する必要があります。

もし、変更しない場合、既存のデータベースにWordpressをインストールすると他のサイトのデータが消えてしまいます。

table_prefixを共通にしているエックスサーバーでは、サイト毎にデータベースを分ける運用となっているのです。

もし、table_prefixをサイト毎に変更するのであれば、データベースは一つでもよいわけです。

エックスサーバーは、Wordpress簡単インストールからインストールする時にtable_prefixを変更できません。

すでに作成済みのデータベースを利用する場合

すでに作成済みのデータベースを利用する場合は、「作成済みのデータベースを利用する」を選択してください。
この場合は、下記の項目をご入力ください。

データベース名

利用するデータベースを指定してください。
例)xsample_wp

データベースユーザー名

データベースユーザを指定してください。
例)xsample_user

データベース用パスワード

上記で指定したデータベースユーザー名のパスワードを入力してください。

https://www.xserver.ne.jp/manual/man_install_auto_word.php

ですので、既存のデータベースを使ってWordpress簡単インストールを行うと高確率で他のサイトが壊れます。

WordPressのアンインストールはDBは対象外

エックスサーバーはWordpress簡単インストールからインストールしたWordpressのアンインストールに対応していますが、Wordpress用に作成されたDBやユーザーは削除されない仕様です。

アンインストールしても、DBユーザーは削除されないので新規インストールするたびに増え続けます。

MySQLユーザーの追加設定可能な上限数に達しているため追加できません。を解消するには?

過去に簡単インストールで追加されて、今では使用されていないMySQLユーザーを削除すれば解決します。

もし、『MySQLユーザーの追加設定可能な上限数に達しているため追加できません。』が表示された場合は、XserverのコンパネからMySQLユーザー一覧を表示して、MySQLのユーザー数がいくつあるのか確認してみます。

おそらく、50個だとおもいます。

その場合は、1つだけユーザーを削除すれば、Wordpress簡単インストールでメッセージは表示されなくなります。

エックスサーバーのコンパネでは、データベース一覧で、どのデータベースがWordpressで使用しているか表示してくれます。

ですが、MySQLユーザー一覧では、どのMySQLユーザーが使用されているのか表示してくれません。

使用していないMySQLユーザーを調べる方法

コンパネから探す方法

コンパネのデータベース一覧ではデータベースに接続できるユーザー名が表示されていますので、Wordpressで使用していないデータベースの接続ユーザー名をメモします。

メモしたユーザー名をMySQLユーザー一覧から探して削除します。

SSH+コマンドで探す方法

エックスサーバーはSSHが使えますので、サーバー全体をチェックすることで使用しているMySQLユーザーを調べることができます。

特に、Wordpressしか使ってい無いサーバーであれば、wp-config.phpを調べればDB_USERが書かれていますので、知ることができます。

.envはlalavelの場合です。

# WordPress で設定されているMySQLユーザーの一覧を取得
find -type f -name wp-config.php -print | xargs grep DB_USER

# .env ファイルに設定されている一覧を取得
find -type f -name '.env*' -print | xargs grep DB_USERNAME

参考:エックスサーバーで使用していないMySQLユーザーを見つけて削除する

注意点:この方法は、利用していないMySQLユーザーを探すのではありません。あくまでも、サイトで利用しているすべてのMySQLユーザー名を知ることができます。

使われてないMySQLユーザーがある場合

【SSHで取得したMySQLユーザー一覧】と、【コンパネのMySQLユーザー一覧】を比べます。

【コンパネのMySQLユーザー一覧】 > 【SSHで取得したMySQLユーザー一覧】 になっていないでしょうか?

もし、そうであればサーバーには使用していないMySQLユーザーが残っています。

【コンパネのMySQLユーザー一覧】から、【SSHで取得したMySQLユーザー一覧】 にはないユーザーを探します。

そのユーザーをMySQLユーザー一覧から探して削除します。

使われてないMySQLユーザーがない場合

もし、【コンパネのMySQLユーザー一覧】 と 【SSHで取得したMySQLユーザー一覧】 が同一であれば、それは純粋にMySQLデータベースが50個あるということだと思います。

その場合の対応としては、以下の2つです。

  • プランをアップグレードする
  • 既存のMySQLユーザーをMySQL接続ユーザーとして追加し、wp-config.phpを変更します
  • エックスサーバーのサポートに連絡する

まとめ

エックスサーバーはMySQLの利用可能数に制限はありません。

ですが、MySQLユーザー数には制限があるので、『MySQLユーザーの追加設定可能な上限数に達しているため追加できません。』というメッセージが出ることがあります。

その場合は、コンパネのMySQLユーザー一覧から不要なユーザーを削除すれば解決します。

不要なユーザーを見つけるには、Wordpressで使用していないデータベースを確認し、接続ユーザーを確認して削除します。

この情報は役に立ちましたか? はい いいえ
参考なったらシェアお願いします!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

サーバーソムリエのアバター サーバーソムリエ レンタルサーバー鑑定士

国内のあらゆるレンタルサーバーを使用、管理した経験があります。サーバー選びからWordpressを使ったサイト運営まで丸っとお任せください。あなた様のご希望にそった本当に使える最適なサーバーをご紹介します。

コメントを閉じる

コメント

コメントする

コメントは日本語で入力してください。(スパム対策)

CAPTCHA

この記事の内容