0

複数の Web アプリケーションで使用される複数のデータベースを含む MySQL データベースがあります。

新しいユーザー アカウントを介してのみアクセスできる新しいデータベースを作成する必要があります。Navicat v5.3.3 ユーザー管理を使用してこれをセットアップしようとしましたが、うまくいかないようで、それが MySQL によるものなのか Navicat によるものなのかわかりません。

しかし、新しいアカウントのみがアクセスできる (他のデータベースではなく) 新しい DB が必要な場合、これを設定する最良の方法は何ですか?

ありがとう

4

2 に答える 2

2

データベースを作成し、必要な権限をユーザーに付与するだけで済みます。mysql クエリ ツールを起動して、次のクエリを入力する必要があります。

CREATE DATABASE foobar;
GRANT ALL PRIVILEGES ON foobar.* TO 'foobar_user'@'localhost'
IDENTIFIED BY 'goodsecret';

ここでMySQLのマニュアルを見ることができます

于 2009-11-18T05:26:52.397 に答える
1

私は通常、phpMyAdmin または MySQL コマンドライン インターフェイスを使用します。データベースを作成し (スーパーユーザー アカウントを使用して)、ユーザーがそのデータベースに対する適切な権限を持っていることを確認します。

何かのようなもの:

CREATE DATABASE database_name;
GRANT ALL ON database_name.* TO new_user@'localhost' IDENTIFIED BY 'password';

これにより、ユーザーが「password」を使用して localhost から接続されている場合、database_name の内容に対するすべての権限が「new_user」に与えられます。

ただし、GUI が必要な場合は、phpMyAdmin ( http://www.phpmyadmin.net/ )を強くお勧めします。

編集:あなたの説明に基づいて、この新しいユーザーがそれらにアクセスできないように、他のデータベースのアクセス許可が設定されていることも確認する必要があります。「SHOW GRANTS」を使用して、どのユーザーがどのテーブルに対して権限を持っているかを確認できます - http://en.wikipedia.org/wiki/Internet_Explorer_box_model_bugを参照してください

于 2009-11-18T05:26:01.243 に答える