dbName.tableName明確な許可は、特定のデータベースやテーブルに付与され、一般的に使用される次のオプションがあります:
- 。:データベースサーバにすべてのデータベース権限を付与します。
- DBNAMEは* :. DBNAMEは、すべてのデータベースのテーブルに権限を付与されました。
- dbName.dbTable:データベースDBNAME DBTABLEテーブルの権限を付与します。
username@host
助成金は、ユーザーのIPアドレスを表し、ユーザがログインすることができます。次のタイプがありますホスト:
- ローカルホスト:のみリモートでログオンではない、ユーザーがローカルにログオンすることができます。
- %は:任意のマシンをリモートマシンに加えて、ログインします。
- 192.168.52.32: IPが表す特定は、ユーザが特定のIPからログインすることを可能にします。
パスワード指定された表面は、ユーザーがログオンしたとき。
フラッシュの権限は変更にリフレッシュ許可を表します。
================================================== =============================
新普通のユーザー--- 3つの方法
以下のMySQLデータベースのユーザテーブル、ユーザーと権限各種情報を記憶します。
まず、新しい一般ユーザとユーザ・ステートメントを作成します
新しいユーザーを作成するときに、ユーザー文を作成し、ユーザーを作成する権限を持っている必要があります。
语法格式:ユーザーの作成 ユーザーを 、[[PASSWORD] 'パスワード'で識別] のユーザー [[PASSWORDで識別] 'パスワード'] ......
ユーザーは:新しいユーザーアカウントを表し、ユーザーは、ユーザー名(ユーザー)とホスト名(ホスト)で構成されています。
で識別:キーワードは、ユーザーのパスワードを設定するために使用されます。
パスワード:ユーザーのパスワードを示し、パスワードは通常の文字列である場合は、PASSWORDキーワードを使用しないでください。
注:同時に複数のユーザーを作成することができ、新しいユーザーが初期パスワードを何もすることができ、ユーザ文を作成します。
作成 ユーザー ' SWW ' @ ' localhostの' IDENTIFIED で ' 123456 ' ; / *ユーザを作成します* / 選択 * から ユーザー。 MySQLの- Hはlocalhost - P 3306 - U SWW - p123456 / * DOSウィンドウがビューにサインインします* / ドロップ ユーザー ' SWW ' @ ' localhostと' ; / *新しいユーザーを削除* / 選択 * から ユーザー。
新しいユーザー:
クエリユーザテーブル:
正しく作成された場合には、DOSウィンドウを表示するには、ログインしてください:
新規ユーザーを削除します:
削除後のクエリユーザテーブル:
================================================== ====================================
================================================== ====================================
二、新しいユーザーを作成するには、INSERT文
mysql.userテーブルにユーザー情報を追加するに直接文を挿入します。しかし、あなたはmysql.userテーブルを挿入する権限を持っている必要があります。
语法格式:mysql.userへの挿入(ホスト、ユーザー、パスワード)の値( 'ホスト名'、 'ユーザ名'、PASSWOR( 'パスワード'));
ここで、PASSWORD()がパスワードに機能を暗号化するために使用されます。唯一の3つのフィールドは、値、デフォルト値に他のフィールドの値を設定しているため。
これらの三つのフィールド以外のフィールドにはデフォルトでない場合は、このステートメントは実行されません。デフォルト値は、フィールドの値を設定する必要はありませんがあります。
通常SSL_CIPHER、x509_issuerは、無デフォルトでこれらの3つのフィールドがx509_subject。初期値は、これらの3つのフィールドに設定する必要があります。
次のようにこの時点で、形式INSERT文は次のようになります。
insert into mysql.user( Host,User,Password,ssl_cipher,x509_issuer,x509_subject) values ('hostname','username',PASSWORD('password'),'','','');
注意:mysql数据库下的user表中,ssl_cipher,x509_issuer,x509_subject这3个字段没有默认值。
因此向user表中插入新记录时,一定要设置这3个字段的值,否则insert语句将不能执行。
而且,password字段一定要使用PASSWORD()函数将其加密。
insert into mysql.user( Host,User,Password,ssl_cipher,x509_issuer,x509_subject) values ('127.0.0.1','yuan',PASSWORD('123'),'','','') flush privileges; /*这个命令让mysql数据库中的user表,重新装载权限*/ select * from user; drop user 'yuan'@'127.0.0.1'; mysql -h 127.0.0.1 -P 3306 -u yuan -p123 select * from user;
查询user表:
新建用户:
查询user表:
DOS窗口登录:
删除新建用户:
查看user表;
===============================================================
===============================================================
三、grant语句来新建普通用户
使用grant语句来创建新的用户。在创建用户时,可以为其用户授权。但是必须拥有grant权限。
这里只演示新建用户方法。
语法格式:
grant priv_type on database.table
to user [ identified by [ PASSWORD ] 'password' ]
[, user [ identified by [ PASSWORD ] 'password' ]……
priv_type:表示新用户的权限;
database.table:表示新用户的权限范围,即只能在指定的数据库和表上使用自己的权限;
user:表示新建用户的账户,user由用户名(user)和主机名(host)构成;
identified by:关键字用来设置用户的密码;
password:表示用户的密码;如果密码是一个普通的字符串,就不需要用PASSWORD关键字。
注意:PS:这里grant语句只是其中创建新用户的部分的参数,其它详细的后面介绍。
grant select on *.* to 'test5'@'localhost' identified by 'test5'; select * from user; mysql -h localhost -P 3306 -u test5 -ptest5 drop user 'test5'@'localhost'; select * from user;
查看用户表:
新建用户:
查询新建用户之后的用户表:
DOS窗口登录验证:
删除新建用户:
再次查询用户表:
==============================================================
==============================================================
删除普通用户
方法一:使用drop user语句来删除普通用户
使用drop user语句来删除普通用户时,必须拥有drop user权限。
语法格式: drop user user [ ,user ]……
user:是需要删除的用户,由用户的用户名(user)和主机名(host)组成;
可以同时删除多个用户,之间用逗号隔开;
示例: drop user 'test5'@'localhost';
-----------------------------------------------------------------------------------------------------------------------------
方法二:用delete语句来删除普通用户
可以使用delete语句直接将用户的信息从mysql.user表中删除。但是必须拥有对mysql.user表的delete权限。
语法格式: delete from mysql.user where Host = 'hostname' and User = 'username';
然后执行 : flush privileges; 让命令生效
Host和User都是mysql.user表的主键,因此两个字段的值才能唯一确定一条记录;
grant select on *.* to 'test5'@'localhost' identified by 'test5'; select * from user; mysql -h localhost -P 3306 -u test5 -ptest5 /* drop user 'test5'@'localhost'; */ delete from mysql.user where Host = 'localhost' and User = 'test5'; /*效果一样*/
flush privileges; /*让命令生效*/ /*执行该命令,可以从mysql数据库中的user表中的数据重新加载权限*/ select * from user;