ホームページ  >  記事  >  データベース  >  MySQLに新規ユーザー権限を追加する例を詳しく解説

MySQLに新規ユーザー権限を追加する例を詳しく解説

Y2J
Y2Jオリジナル
2017-05-24 13:57:211857ブラウズ

ユーザーを追加するには、GRANT ステートメントを使用する方法と、MySQLgrant テーブルを直接操作する方法の 2 つの方法があります。より良いアプローチは、GRANT ステートメントを使用することです。これは、GRANT ステートメントがより簡潔で、エラーが発生しにくいと考えられるためです。

次の例は、MySQL customer を使用して新しいユーザーを インストールする方法を示しています。これらの例では、前のセクションで説明したように、アクセス許可がデフォルトでインストールされていることを前提としています。つまり、変更を加えるには、MySQL が実行されているのと同じマシン上にいて、MySQL root ユーザーとして接続する必要があり、root ユーザーには MySQL データベース に対する挿入権限とリロード管理権限が必要です。さらに、root ユーザーのパスワードを変更する場合は、次の MySQL コマンドでパスワードを指定する必要があります。 GRANT ステートメントを発行することで新しいユーザーを追加できます:
コードは次のとおりです:

shell> mysql --user=root mysql   
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@localhost         
IDENTIFIED BY 'something' WITH GRANT OPTION;   
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@"%"         
IDENTIFIED BY 'something' WITH GRANT OPTION;   
mysql> GRANT RELOAD,PROCESS ON *.* TO admin@localhost;  
 mysql> GRANT USAGE ON *.* TO dummy@localhost;

これらの GRANT ステートメントは 3 人の新しいユーザーをインストールします:


monty: どこからでもサーバーに接続できる完全なスーパーユーザーですが、これにはパスワード ('something') を使用する必要があります。 monty@localhost および monty@"%" に対して GRANT ステートメントを発行する必要があることに注意してください。localhost エントリを追加すると、mysql_install_db によって localhost の匿名ユーザー エントリが作成されます。 localhost から接続します。エントリにはより具体的な Host フィールド値があるため、優先順位が与えられます。そのため、ユーザー テーブルのソート順で前に来ます。

admin: パスワードなしで localhost から接続でき、リロードと許可が与えられるユーザー。これにより、ユーザーは mysqladmin reload、mysqladmin flash
-* コマンドを実行できるようになり、後で別の GRANT ステートメントを発行して権限を付与できます。パスワードを使用して接続する必要はありませんが、グローバル権限は「N」に設定されます。USAGE 権限タイプでは、後でデータベース関連の権限を付与することを前提としています。
INSERT ステートメントを発行して同じユーザー アクセス情報を直接追加し、サーバーに認可テーブルを再度ロードするように指示することもできます: コードは次のとおりです:

shell> mysql --user=root mysql   
mysql> INSERT INTO user VALUES('localhost','monty',PASSW
ORD
('something'),   
        'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')   
mysql> INSERT INTO user VALUES('%','monty',PASSWORD('something'),   
        'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')   
mysql> INSERT INTO user 
SET
 Host='localhost',User='admin',   
         Reload_priv='Y', Process_priv='Y';   
mysql> INSERT INTO user (Host,User,Password)   
            VALUES('localhost','dummy','');   
mysql> FLUSH PRIVILEGES;

[関連する推奨事項]


1.
Mysqlの無料ビデオチュートリアル

2.
phpを使用してmysqlに画像を保存する例の詳細な説明

3. mysqldumpを使用してテーブルをバックアップおよび復元する例の詳細な説明

4.データベースの内容を正規表現で置き換える例を詳しく解説

5. MySQLでのパスワードやアクセス制限を変更する例を詳しく解説

以上がMySQLに新規ユーザー権限を追加する例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。