目录
1.添加账户2.授予权限3.删除账户1.添加账户
# 创建一个密码为123456的testuser账户# 若不写【identified by '123456'】则创建一个密码为空的testuser账户mysql> create user testuser identified by '123456';# 刷新权限变更mysql> flush privileges;
注:若出现The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
报错,则运行下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: YInsert_priv: YUpdate_priv: YDelete_priv: YCreate_priv: YDrop_priv: YReload_priv: YShutdown_priv: YProcess_priv: YFile_priv: YGrant_priv: YReferences_priv: YIndex_priv: YAlter_priv: YShow_db_priv: YSuper_priv: YCreate_tmp_table_priv: YLock_tables_priv: YExecute_priv: YRepl_slave_priv: YRepl_client_priv: YCreate_view_priv: YShow_view_priv: YCreate_routine_priv: YAlter_routine_priv: YCreate_user_priv: YEvent_priv: YTrigger_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';
关于如何修改密码,可以看我之前的一篇文章(MySQL5.7.6之前和之后的操作方式不同)
/gongchenyu/article/details/76996089
参考资料1
参考资料2