如何在MySQL中创建用户以及授权

Tags: mysql

1.MySQL的用户管理

MySQL的用户信息都保存在数据库mysql的user表中,因此MySQL的用户操作实际上就是对mysql.user表的增删查改的操作,下图中展示了mysql.user的表结构:

1339241978_7635.png

从图中可以看到,在该表中可以设置用户的所有信息,包括用户名,密码,权限等等。

注意:password 字段是通过 PASSWORD('') 函数生成的。

除了修改user表的方式来操作MySQL用户外,MySQL有一些额外的命令用于创建或删除MySQL用户。

2.创建用户

2.1.CREATE USER创建无权限用户

语法:

CREATE USER user [IDENTIFIED BY [PASSWORD] 'password'][, user [IDENTIFIED BY [PASSWORD] 'password']] ...

示例:

//创建一个用户名为test,密码为test的用户,该用户没有任何权限
create user test@localhost identified by 'test';

2.2.GRANT方式创建带权限用户

语法:

GRANT [ALL | [SELECT,DELETE...]] PRIVILEGES ON {databasename|*}.{tablename|*}... TO username IDENTIFIED BY password;

示例:

GRANT ALL PRIVILEGES ON *.* TO test@% IDENTIFIED BY 'test';

3.删除用户

语法:

DROP USER username;//username指的是带host的username,即test@localhost,如果不指定host,host就为%.

示例:

DROP USER test@localhost;


4.MySQL权限说明

4.1查看某个用户的权限

mysql> show grants for root@localhost;

4.2各权限解释


权限

说明

CREATE

Create_priv

创建数据库和表

DROP

Drop_priv

抛弃(删除)数据库和表

GRANT OPTION

Grant_priv

数据库、表或保存的程序

REFERENCES

References_priv

未使用

ALTER

Alter_priv

修改表和索引

DELETE

Delete_priv

INDEX

Index_priv

创建或抛弃索引

INSERT

Insert_priv

向表中插入新行

SELECT

Select_priv

检索表中的记录

UPDATE

Update_priv

修改现存表记录

CREATE VIEW

Create_view_priv

视图

SHOW VIEW

Show_view_priv

视图

ALTER ROUTINE

Alter_routine_priv

保存的程序

CREATE ROUTINE

Create_routine_priv

保存的程序

EXECUTE

Execute_priv

保存的程序

FILE

File_priv

读或写服务器上的文件

CREATE TEMPORARY TABLES

Create_tmp_table_priv

服务器管理

LOCK TABLES

Lock_tables_priv

服务器管理

CREATE USER

Create_user_priv

服务器管理

PROCESS

Process_priv

查看服务器中执行的线程信息或杀死线程

RELOAD

Reload_priv

重载授权表或清空日志、主机缓存或表缓存

REPLICATION CLIENT

Repl_client_priv

服务器管理

REPLICATION SLAVE

Repl_slave_priv

服务器管理

SHOW DATABASES

Show_db_priv

服务器管理

SHUTDOWN

Shutdown_priv

 关闭服务器

SUPER

Super_priv

服务器管理

本文链接:http://www.4byte.cn/learning/102870/ru-he-zai-mysql-zhong-chuang-jian-yong-hu-yi-ji-shou-quan.html