搜索
您的当前位置:首页正文

MySQL实例讲解:添加账户、授予权限、删除用户

2020-11-09 来源:易榕旅网

1.添加账户:

# 创建一个密码为123456的testuser账户# 若不写【identified by '123456'】则创建一个密码为空的testuser账户mysql> create user testuser identified by '123456';# 刷新权限变更mysql> flush privileges;

2.授予权限

# 为testuser账户授予本地访问所有数据库的所有权限mysql> grant all privileges on *.* to 'testuser'@'localhost' identified by '123456';
mysql> flush privileges;

命令格式:

grant privilegesCode on dbName.tableName to username@host identified by "password";

privilegesCode表示授予的权限类型,常用的有以下几种类型:
all privileges:所有权限;
select:读取权限;
delete:删除权限;
update:更新权限;
create:创建权限;
drop:删除数据库、数据表权限。

完整的权限类型如下:

 Select_priv: Y
 Insert_priv: Y
 Update_priv: Y
 Delete_priv: Y
 Create_priv: Y
 Drop_priv: Y
 Reload_priv: Y
 Shutdown_priv: Y
 Process_priv: Y
 File_priv: Y
 Grant_priv: Y
 References_priv: Y
 Index_priv: Y
 Alter_priv: Y
 Show_db_priv: Y
 Super_priv: Y
 Create_tmp_table_priv: Y
 Lock_tables_priv: Y
 Execute_priv: Y
 Repl_slave_priv: Y
 Repl_client_priv: Y
 Create_view_priv: Y
 Show_view_priv: Y
 Create_routine_priv: Y
 Alter_routine_priv: Y
 Create_user_priv: Y
 Event_priv: Y
 Trigger_priv: YCreate_tablespace_priv: Y

详细介绍可阅读MySQL官方文档

dbName.tableName表示授予权限的具体库或表,常用的有以下几种选项:

*.*:授予该数据库服务器所有数据库的所有表的权限;
dbName.*:授予dbName数据库所有表的权限;
dbName.dbTable:授予数据库dbName中dbTable表的权限。

username@host表示授予的用户以及允许该用户登录的IP地址。其中host有以下几种类型:

localhost:只允许该用户在本地登录,不能远程登录。
%:允许在除本机之外的任何一台机器远程登录。
192.168.1.11:具体的IP表示只允许该用户从特定IP登录。

identified by "password":表示访问权限用户的密码,如果无此语句,则默认密码为空。

查看权限授予的命令:

mysql> show grants for 'testuser';

3.删除用户

# 将刚才创建的本地访问权限的testuser用户删除drop user testuser@'localhost';
Top