ホームページ >バックエンド開発 >C#.Net チュートリアル >ユーザー管理と権限と設定 - mysql

ユーザー管理と権限と設定 - mysql

小云云
小云云オリジナル
2017-11-16 13:27:082302ブラウズ

MySQL は、世界で最も人気のあるデータベース管理システムの 1 つです。この本は、単純なデータ取得の概要から始まり、結合、サブクエリ、正規表現と全文ベースの検索、ストアド プロシージャ、カーソル、トリガー、テーブル制約などの使用を含む、より複雑な内容に徐々に入っていきます。強調表示された章を通じて、読者が習得すべき知識が明確、体系的かつ簡潔な方法で説明されているため、読者はすぐに、そして意図せずにスキルを向上させることができます。ここでは主にmysqlのユーザー管理と権限設定に関連するコマンドについて説明します。

ユーザー管理

mysql>use mysql;

表示

mysql>select host,user,password from user ;

作成

mysql>create user zx_root;

変更

mysql>rename user feng to newuser; //mysql 5之后可以使用,之前需要使用update 更新user表

削除

mysql>drop user newuser;   //mysql5之前删除用户时必须先使用revoke 删除用户权限,然后删除用户,mysql5之后drop 命令可以删除用户的同时删除用户的相关权限

パスワードを変更

mysql>set password for zx_root =password('xxxxxx');
mysql>update  mysql.user  set  password=password('xxxx')  where user='otheruser'


ユーザー権限を表示

mysql>show grants for zx_root;

権限を与える

mysql>grant select on dmc_db.*  to zx_root;

アクセス許可をリサイクルする

mysql>revoke  select on dmc_db.*  from  zx_root;  //如果权限不存在会报错

上記のコマンドも複数の権限を同時に付与および取り消すことができます。権限を区切るにはカンマを使用します

mysql>grant select,update,delete  ,insert  on dmc_db.*  to  zx_root;

結果をすぐに確認したい場合は、

flush  privileges ;

コマンド update を使用してください
権限を設定するときは、次の情報を指定する必要があります。

1、付与される権限

2、アクセスが付与されるデータベースまたはテーブル

3、ユーザー名

Grant と revoke は、いくつかのレベルでアクセスを制御できます

1、grant ALL とサーバー全体を使用して、 ALL を取り消す

2、データベース全体、database.*

3、機能テーブル、database.table で使用

4、特定の列

5、特定のストアドプロシージャ


ホストの値の意味ユーザーテーブルの列

% すべて一致 ホスト

localhost は IP アドレスに解析されず、UNIX ソケット

127.0.0.1 を介して直接接続されます

127.0.0.1 は TCP/IP プロトコルを介して接続され、アクセスのみ可能ローカルで

::1 ::1 は ipv6 と互換性があり、ipv4 127.0.0.1 と同じであることを示します

通常のデータ ユーザーにデータベース内のすべてのテーブル データのクエリ、挿入、更新、削除を行う権利を付与します。

grant select on testdb.* to common_user@'%'
grant insert on testdb.* to common_user@'%'
grant update on testdb.* to common_user@'%'
grant delete on testdb.* to common_user@'%'

または、代わりに MySQL コマンドを使用します:

grant select, insert, update, delete on testdb.* to common_user@'%'

9>.grant データベース開発者は、テーブル、インデックス、ビュー、ストアド プロシージャ、関数を作成します。 。 。およびその他の権限。

MySQL データテーブル構造を作成、変更、削除する権限を付与します。

grant create on testdb.* to developer@'192.168.0.%';
grant alter on testdb.* to developer@'192.168.0.%';
grant drop on testdb.* to developer@'192.168.0.%';

grant は MySQL の外部キー権限を操作します。

grant references on testdb.* to developer@'192.168.0.%';

MySQL 一時テーブルを操作する権限を付与します。

grant create temporary tables on testdb.* to developer@'192.168.0.%';

MySQL インデックスを操作する権限を付与します。

grant index on testdb.* to developer@'192.168.0.%';

MySQL ビューを操作し、ソース コードを表示する権限を付与します。

grant create view on testdb.* to developer@'192.168.0.%';
grant show view on testdb.* to developer@'192.168.0.%';

MySQL ストアド プロシージャと関数を操作する権限を付与します。

grant create routine on testdb.* to developer@'192.168.0.%'; -- now, can show procedure status
grant alter routine on testdb.* to developer@'192.168.0.%'; -- now, you can drop a procedure
grant execute on testdb.* to developer@'192.168.0.%';

10>.grant 一般の DBA は、MySQL データベースを管理する権限を持っています。

grant all privileges on testdb to dba@'localhost'

このうち、「特権」というキーワードは省略可能です。

11>.MySQL のすべてのデータベースを管理する上級 DBA 権限を付与します。

grant all on *.* to dba@'localhost'

12>.MySQL 付与権限は複数のレベルで適用できます。

1. Grant は MySQL サーバー全体に作用します:

grant select on *.* to dba@localhost; -- dba 可以查询 MySQL 中所有数据库中的表。
grant all on *.* to dba@localhost; -- dba 可以管理 MySQL 中的所有数据库

2. Grant は単一のデータテーブルに作用します:

grant select on testdb.* to dba@localhost; -- dba 可以查询 testdb 中的表。

4. Grant はテーブル内の列に作用します。

grant select, insert, update, delete on testdb.orders to dba@localhost;

5. 付与はストアド プロシージャと関数で機能します:

grant select(id, se, rank) on testdb.apache_log to dba@localhost;

注: アクセス許可を変更した後、サービスを更新するか、サービスを再起動する必要があります: FLUSH PRIVILEGES。

関連する推奨事項:

MySQL クエリ時間に関する関連知識

PHP と MySQL の関係

php、Apache、mysql の関係


以上がユーザー管理と権限と設定 - mysqlの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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