1.创建新用户并使用grant赋予权限:
CREATE USER 'z1'@'%' IDENTIFIED BY '123456'; #其中,'z1'@'%' 是指新建用户z1,使用该用户名可以从任何主机来连接数据库,'123456'是密码
刚创建的用户默认是没有权限的,需要使用grant指令进行权限的授予,如下所示:
grant指令完整格式:grant 权限列表 on 数据库名.数据表名 to ‘用户名’@’主机’ identified by ‘密码’ with grant option;
数据库名.*代表库下所有的表;
可使用“*”表示所有数据库或所有数据表,“%”表示任何主机地址。
with grant option:这个选项表示该用户可以将自己拥有的权限授权给别人,可以不添加
也可以使用grant指令在授权时修改密码,例如:grant select on *.* to z2@localhost identified by '111111' with grant option;但现在已经失效,不能用了
权限列表可参考:https://blog.51cto.com/11555417/2160730,常见的有create/drop/select/delete等
给用户赋权限:
GRANT ALL PRIVILEGES ON *.* TO z1; #增加除Grant_priv以外的所有权限 GRANT ALL PRIVILEGES ON *.* TO z1 WITH GRANT OPTION; #增加Grant权限
关于远程登录的其他知识点:
Host值
|
User值
|
匹配的连接
|
%
|
'z1'
|
z1 可以从任何主机来连接
|
%
|
''
|
任何用户,可以从任何主机来连接
|
%.loc.gov
|
'z1'
|
z1 可以从loc.gov域的任何主机来连接
|
172.168.18.200
|
'z1'
|
z1 可以从172.168.18.200的ip地址的主机来连接
|
172.168.18.%
|
'z1'
|
z1 可以从172.168.18 的网段的任何主机来连接
|
2.查看用户权限:
select * from userG; SHOW GRANTS FOR z1; #host值是%,只要输入用户名 SHOW GRANTS FOR z1@localhost; #如果host值不是%,则需要输入host
3. Mysql用户权限回收:
revoke指令格式:revoke 权限列表 on 数据库名.数据表名 from 用户名@主机;
示例:
revoke drop on *.* from test@localhost;#回收drop权限 revoke update,insert on *.* from test@'%';#回收insert,update权限
4. 对账户重命名:
rename user '旧用户名'@'旧主机' to '新用户名'@'新主机';
示例:
rename user z1@'%' to z2@localhost;
5. Mysql用户密码修改:
方法一:使用set password命令
set password for '用户名'@'主机' ='新密码'; #flush privileges;#在mysql5.7.28中不刷新权限,也立即生效了
示例:
SET PASSWORD FOR 'z2'@'localhost' ='7777';
方法二:使用grant指令在授权时修改密码:
grant select on 数据库名.数据表名 to 用户名@主机 identified by '新密码' with grant option;
示例:
grant select on *.* to z2@localhost identified by '111111' with grant option;#会有报警,意思是说后续mysql版本中会移除该修改密码的方式,可以使用 ALTER USER的方式代替。该方式失效
方法三:运行mysqladmin脚本文件
该文件一般在mysql安装目录下的bin目录中。进入该目录,根据一下两种具体情况输入命令(只有root用户有这个权限)。
bin目录:/usr/bin,在该目录下有可执行文件mysqladmin
(1)用户尚无密码:
mysqladmin -u 用户名 password 新密码;
(2)用户已有密码:
mysqladmin -u 用户名 -p password 新密码; 回车后会提示输入旧密码 举例:mysqladmin -u z2 -p password 8888
执行后会有警告信息,不影响
6.删除用户
drop user '用户名'@'主机';
参考:https://www.cnblogs.com/MrHSR/p/9809702.html