MySQL添加删除账户及授予权限

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: Y
Create_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';

关于如何修改密码,可以看我之前的一篇文章(MySQL5.7.6之前和之后的操作方式不同)
https://blog.csdn.net/gongchenyu/article/details/76996089

参考资料1
参考资料2

猜你喜欢

转载自blog.csdn.net/gongchenyu/article/details/81429426