ドキュメント / 1 人のデータベースユーザーで複数のデータベースを扱う

1 人のデータベースユーザーで複数のデータベースを扱う

2 つのデータベース — たとえばメインのものと、バックオフィス用の別スキーマ — を使う アプリケーションに、2 つのログインは必要ありません。1 人のユーザーに両方へのアクセスを 付与してください。

ユーザーに別のデータベースを与える

データベース → データベースユーザー → ユーザーの行で データベースを追加。

データベースの短い名前(youracct_shop ではなく shop)を尋ねられます。ユーザーは既存の パスワードと既存のアクセスを保ったまま、新しいデータベースがそこに追加されます。

その表の各行は、ユーザーが現在到達できるものを示します。

app        Databases: shop, admin        Access: localhost only

まだ何も持たないユーザーは no databases yet と表示されます。

1 つを取り消す

同じ行の データベースを削除。このボタンは、ユーザーが少なくとも 1 つのデータベースを 持つと表示されます。どれかを尋ねられ、選択肢が 1 つだけの場合はあらかじめ入力されています。

ユーザーからデータベースを削除しても、ユーザーは削除されません。データベースにも触れません。 ユーザーはパスワードと、保持している他のすべてのデータベースを保ちます。それが要点です。 この機能ができる前は、アクセスを取り消す唯一の方法はユーザーの削除であり、それはまだそのユーザーで サインインしているすべてのサイトを壊しました。

使う前に知っておくとよいこと

  • アクセスは 1 度に 1 つのデータベースずつ付与されます。 ユーザーがサーバーへの全面的な アクセスを受け取ることは決してありません。各付与はあなたの単一のデータベースを名指しします。
  • データベースの最後のユーザーを削除できます。 それを止めるものも、警告するものもありません。 データベースとその内容は残りますが、再び付与するまでどのログインもそこへ到達できません — サイトが突然接続できないと報告した場合の直し方はこれです。
  • 名前にはアカウントのプレフィックスが付きます。 shop として作成したデータベースは サーバー上では youracct_shop であり、ユーザー app は youracct_app です。パネルには短い 名前を、アプリケーションの設定には完全な名前を入力してください。
  • 自分のデータベースとユーザーだけ。 別のアカウントのデータベースを名指しする付与は拒否 されます。取り消しも同様です。

ゼロから設定する

  1. データベース → データベースを作成 を 2 回 — たとえば site と admin。
  2. ユーザーを作成して接続: ユーザーに名前を付け、ドロップダウンから site を選びます。 これが最初の付与です。
  3. 新しいユーザーの行で データベースを追加 し、admin を入力します。

パスワードが表示されたらコピーしてください。パネルは読み戻せない形でパスワードを保存するため、 失ったパスワードは復元ではなくリセットになります — それが同じ行の パスワード です。

何かおかしいと感じたとき

「No such database for this account.」 名前を打ち間違えたか、プレフィックス付きの形を 入力しました。上のデータベース表に表示されるとおりの短い名前を使ってください。

「No such database user for this account.」 ページ上のユーザーリストが古くなっています。 再読み込みしてください。

アプリケーションが一方のデータベースには接続するが、もう一方には接続しない。 その行が Databases の下に両方を挙げていること、そしてアプリケーションがプレフィックス付きの名前 (youracct_admin)と同じホスト — そのユーザーに リモートホスト を設定していない限り localhost — を使っていることを確認してください。

付与がリモートマシンから効いていないように見える。 ここで追加した付与はローカルログインに 適用されます。そのユーザーが外部アドレスからも接続する場合は、付与のあとに リモートホスト リストを保存し直し、リモートエントリがユーザーの現在持つデータベースに追いつくようにして ください。