mysql权限
Posted wwchihiro
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql权限相关的知识,希望对你有一定的参考价值。
select user(); 显示当前登录的用户名和客户端地址
show grants; 连接用户查看自己的访问权限
select @@hostname; 显示连接的数据库
用户授权与权限
在数据库上添加可以连接数据库服务器的用户
默认只有数据库管理员root用户在本机登录时,才有授权权限。
谁有授权权限
默认只有数据库管理员root用户从本机登录才有授权权限。
授权命令的格式
本格式:grant 权限列表 on 数据名 to 用户名;
grant 权限列表 on 数据名 to 用户名@"客户端地址";
grant 权限列表 on 数据名 to 用户名@"客户端地址" identified by "密码" ;
grant 权限列表 on 数据名 to 用户名@"客户端地址" identified by "密码" with grant option(有授权权限);
权限的表示方式
all 所有权限
select,insert,update(name,age) 某种权限
usage 无权限
数据名的表示方式
*.* 所有库所有表
库名.* 一个库
库名.表名 一个表
客户端地址的表示方式
% 所有地址
192.168.2.% 网段
%.tarena.com 区域
pc101.tarena.com 主机名
Identifie d by "密码" 用户连接时使用的密码
with grant option 有授权权限
默认的4个库 mysql 授权库(存储的是授权信息)
sys
mysql 授权库(存储的是授权信息)
information_schema 虚拟库
performance_schema
test 公共库(测试库)
授权信息存储在授权库mysql库里
mysql.user 已有的授权用户及访问权限
mysql.db 存储授权用户对本机库的访问权限
mysql.tables_priv 存储授权用户对本机表的访问权限
mysql.columns_priv 存储授权用户对本机表中字段的访问权限
查看已有的授权用户及权限
select user,host from mysql.user;
数据库管理员查看授权用户的权限信息
show grants for 用户名@"客户端地址";
select user,host from mysql.user;
select * from mysq.user where user="用户名" and host="客户端地址"G;
撤销用户授权
mysql>revoke 权限列表 on 库名 from 用户名@"客户端地址";
mysql> revoke grant option on *.* from [email protected]"192.168.4.254";
mysql> revoke delete,update on *.* from [email protected]"192.168.4.254";
mysql> revoke all on studb.* from [email protected]"192.168.4.254";
mysql> show user(); #查看访问用户
删除授权用户
方法一:
mysql> delete from mysql.user where user="用户名" and host="客户端地址"; flush privileges;
方法二
mysql> drop user 用户名@"客户端地址";
mysql>delete from mysql.user where user="webadmin" and host="192.168.4.11";
mysql> flush privileges;
授权用户登录后,修改自己的登录密码
mysql> SET PASSWORD=PASSWORD(‘新密码‘);
数据库管理员 root 重置授权用的登录密码
mysql> SET PASSWORD FOR 用户名@‘客户端地址‘=PASSWORD(‘新密码‘);
管理员重置授权用户的登录密码
mysql> set password for 用户名@‘客户端地址‘=PASSWORD("新密码");
以上是关于mysql权限的主要内容,如果未能解决你的问题,请参考以下文章