当前使用的账号为root,密码为root,拥有最高权限。
1.创建普通用户
1.1使用CREATE USER语句创建新用户
基本语法:
CREATE USER user@host [ IDENTIFIED BY [ PASSWORD ] 'password' | IDENTIFIED WITH auth_plugin [ AS 'auth_string' ] ]
[, user@host [ IDENTIFIED BY [ PASSWORD ] 'password' | IDENTIFIED WITH auth_plugin [ AS 'auth_string' ] ] ]……
其中 [ ] 表示内容可有可无, | 表示只需要其中一个
内容说明:
user:创建的用户名称
host:允许登录的用户主机名称(在mysql中用户是由user@host组成,也就是保证user@host唯一就是一个合法的用户)
IDENTIFIED BY 表示用来设备用户的密码
[PASSWORD]:使用哈希值设置密码,该参数可选
‘password':用户登录时使用的普通明文密码
IDENTIFIED WITH:为用户指定一个身份验证插件
auth_plugin:插件的名称,插件的名称可以是一个带单引号的字符串,或者带引号的字符串
auth_string:可选的字符串参数,该参数将传递给身份验证插件,由该插件解释该参数的意义
创建一个用户名为xhb,密码是123456,主机名为localhost(即只有本机能连接)的用户:
登录xhb账号:
1.2使用GRANT语句创建新用户
基本语法:
GRANT privileges ON db.table
TO user@host [ IDENTIFIED BY 'password' ]
[ , user [ IDENTIFIED BY 'password' ] ]
[ WITH GRANT OPTION ]其中 [ ] 表示内容可有可无
内容说明:
privileges:赋予用户的权限类型db.table:用户的权限所作用为数据库中的表
IDENTIFIED BY:关键字用来设置密码
'password':用户密码
WITH GRANT OPTION:可选参数,表示对新建立的用户赋予GRANT权限,即该用户可以对其它用户赋予权限
创建一个用户名为xhb2,密码是123456,主机名为localhost(即只有本机能连接)的用户,并授于用户对所有数据表的SELECT,UPDATE权限:
登录xhb2账号:
进行select和update操作:
进行insert和delete操作:
2.删除普通用户
2.1使用DROP USER语句删除用户
基本语法:
DROP USER user [ ,user ]其中 [ ] 表示内容可有可无
说明:
DROP USER 语句用于删除一个或我个Mysql账户。删除xhb账户用户:
登录xhb账号:
2.2使用DELETE语句删除用户
基本语法:
DELETE FROM Mysql.user WHERE host='hostname' AND user='username'说明:
host和user为mysql.user表中的两个字段,两个字段的组合确定所要删除的账号记录删除xhb2账号用户:
登录xhb2账号:
这是因为直接删除mysql.user中数据没有影响到已经缓存的权限数据,刷新权限:
再次登录xhb2账号:
好了,今天的分享就到这里了,由于是个人整理总结,难免会出错,欢迎大家批评指正,万般感谢。