MySQL

数据库

Mysql—用户表详解(mysql.user)

MySQL是一个多用户管理的数据库,可以为不同用户分配不同的权限,分为root用户和普通用户,root用户为超级管理员,拥有所有权限,而普通用户拥有指定的权限。

MySQL是通过权限表来控制用户对数据库访问的,权限表存放在mysql数据库中,主要的权限表有以下几个:user,db,host,table_priv,columns_priv和procs_priv,先带你了解的是user表。

通常用户信息、修改用户的密码、删除用户及分配权限等就是在mysql数据库的user表中。

用户列(用户连接MySQL数据库需要输入的信息)

Host:主机名,双主键之一,值为%时表示匹配所有主机。User:用户名,双主键之一。Password:密码名。

Host

User

Password

%

domain_check

*55B565DA3839E5955A68EA96EB735

localhost

domain_check

*55B565DA3839E5955A68EA96EB735

127.0.0.1

domain_check

*55B565DA3839E5955A68EA96EB735

126.26.98.25

domain_check

*55B565DA3839E5955A68EA96EB735

localhost

::1

root

*26C378D308851D5C717C13623EFD6

localhost

root

*26C378D308851D5C717C13623EFD6

127.0.0.1

root

*26C378D308851D5C717C13623EFD6

(root,%),表示可以远程登录,并且是除服务器外的其他任何终端,%表示任意IP都可登录。

(root,localhost),  表示可以本地登录,即可以在服务器上登陆,localhost则只允许本地登录。

(root,127.0.0.1 ),表示可以本机登陆,即可以在服务器上登陆

(root,sv01),表示主机名为sv1可以登陆,sv01具体指的哪台机器,可以在cat /etc/hostname查看

(root,::1) ,  表示本机可以登陆, 看密码都是相同嘛,具体::1代表意义,待查

权限列

权限列决定了用户的权限,描述了用户在全局范围内允许对数据库和数据库表进行的操作,字段类型都是枚举Enum,值只能是Y或N,Y表示有权限,N表示没有权限。

权限字段名称

备注说明

Select_priv

确定用户是否可以通过SELECT命令选择数据

Insert_priv

确定用户是否可以通过INSERT命令插入数据

Delete_priv

确定用户是否可以通过DELETE命令删除现有数据

Update_priv

确定用户是否可以通过UPDATE命令修改现有数据

Create_priv

确定用户是否可以创建新的数据库和表

Drop_priv

确定用户是否可以删除现有数据库和表

Reload_priv

确定用户是否可以执行刷新和重新加载MySQL所用各种内部缓存的特定命令,包括日志、权限、主机、查询和表重新加载权限表

Shutdown_priv

确定用户是否可以关闭MySQL服务器在将此权限提供给root账户之外的任何用户时,都应当非常谨慎

Process_priv

确定用户是否可以通过SHOW PROCESSLIST命令查看其他用户的进程

File_priv

确定用户是否可以执行SELECT INTO OUTFILE和LOAD DATA INFILE命令

安全列

安全字段名称

备注说明

ssl_type

支持ssl标准加密安全字段

ssl_cipher

支持ssl标准加密安全字段

x509_issuer

支持x509标准字段

x509_subject

支持x509标准字段

password_expired

密码是否过期。Y:说明该用户密码已过期 N:没有过期

plugin

5.5.7开始,mysql引入plugins以进行用户连接时的密码验证,plugin创建外部/代理用户

authentication_string

通过authentication_string可以控制两者的映射关系,(PAM plugin等,PAM可以支持多个服务名)

资源控制列

控制字段名称

字段类型

是否为空

默认值

备注说明

max_questions

int(11)unsigned

NO

0

每小时允许执行多少次查询:0表示无限制

max_updates

int(11)unsigned

NO

0

每小时可以执行多少次更新:0表示无限制

max_connections

int(11)unsigned

NO

0

每小时可以建立的多少次连接:0表示无限制

max_user_connections

int(11)unsigned

NO

0

单用户可以同时具有的连接数:0表示无限制

常用命令

查询所有用户

mysql> select Host,User,Password from user;

查询用户权限:all表示所有权限,select表示只查权限,update表示只改权限,delete表示只删权限等。

mysql> show grants for "user"@"host";

mysql> show grants for"root"@"localhost";

添加授权用户(新创建的用户,默认情况下是没有任何权限的):使用root用户连接到服务器

mysql> create user "用户名"@"IP地址" identified by"密码";

mysql> create user "haidon"@"%" identified by "123456";

mysql> create user "haidon"@"localhost" identified by "123456";

IP地址的表示方式:1.%表示用户可以从任何地址连接到服务器2.localhost 表示用户只能从本地连接到服务器3.指定一个ip表示用户只能从此ip连接到服务器

分配用户权限(给用户授权)

mysql> grant 权限列表 on 库.表 to "用户名"@"ip地址" with grant option;

mysql> grant all privileges on *.* to "haidon"@"%" with grant option;

mysql> grant all privileges on *.* to "haidon"@"%" identified by 'test' with grant option;

mysql> grant all privileges on domain_check.tb_user to "haidon"@"localhost" with grant option;

mysql> grant select on domain_check.tb_user to "haidon"@"localhost" with grant option;

mysql> grant select,insert on domain_check.tb_user to "haidon"@"132.24.98.25" with grant option;1.权限列表:select、update、delete、insert、alter、drop、create、...(show)2.库.表:*.*表示所有库的所有表。with grantoption表示它具有grant权限。密码是test。3.如果带了 with grant option,那么用户haidon可以将select ,update权限传递给其他用户( 如xiaodon)。4.如果没带 with grant option,那么用户haidon不能给用户xiaodon授权。5.all后面加上privileges,具体到哪些权限时得看MySQL版本,5.7版本不加privileges,8.0版本加privileges。6.mysql> insert into user values("%","haidon",password("test"),"Y","Y","Y","Y","Y","Y","Y","Y","Y","Y");

mysql> flush privileges; 这两句和上面第3句grant的效果是一样的。7.mysql> insert into user (host,user) values("132.24.98.25","haidon");

mysql> insert into db values("132.24.98.25","haidon","Y","Y","Y","Y","Y","Y","N","N","N","N")

mysql> flush privileges; 这三句和上面第6句grant的效果是一样的。

收回用户权限

mysql> revoke all on *.* from"haidon"@"localhost";

mysql> revoke all on domain_check.tb_user from"haidon"@"localhost";

mysql> revoke select on *.* from"haidon"@"localhost";

删除授权用户

mysql> drop user"用户名"@"ip地址"

mysql> drop user "haidon"@"%"

mysql> delete from user where user='haidon';

mysql> flush privileges;

内容来源于网络,如有侵权请联系客服删除

mysql 用户管理表_Mysql—用户表详解(mysql.user)相关推荐

  1. mysql c接口返回自增id_详解mysql插入数据后返回自增ID的七种方法

    引言 mysql 和 oracle 插入的时候有一个很大的区别是: oracle 支持序列做 id: mysql 本身有一个列可以做自增长字段. mysql 在插入一条数据后,如何能获得到这个自增 i ...

  2. mysql从挂了数据怎么恢复_详解MySQL误操作后怎样进行数据恢复

    一.开启binlog. 首先查看binlog是否开启 mysql> show variables like "log_bin"; +---------------+----- ...

  3. mysql数据库中count的作用_详解 MySQL中count函数的正确使用方法

    1. 描述 在MySQL中,当我们需要获取某张表中的总行数时,一般会选择使用下面的语句 select count(*) from table; 其实count函数中除了*还可以放其他参数,比如常数.主 ...

  4. mysql 事物的持久性是指_详解MySQL中事务的持久性实现原理

    前言 说到数据库事务,大家脑子里一定很容易蹦出一堆事务的相关知识,如事务的ACID特性,隔离级别,解决的问题(脏读,不可重复读,幻读)等等,但是可能很少有人真正的清楚事务的这些特性又是怎么实现的,为什 ...

  5. mysql获取当天每小时统计_详解mysql 获取某个时间段每一天、每一个小时的统计数据...

    获取每一天的统计数据 做项目的时候需要统对项目日志做分析,其中有一个需求是获取某个给定的时间段内,每一天的日志数据,比如说要获取从2018-02-02 09:18:36到2018-03-05 23:1 ...

  6. mysql 多表 查询慢_详解Mysql多表联合查询效率分析及优化

    1. 多表连接类型1. 笛卡尔积(交叉连接) 在MySQL中可以为CROSS JOIN或者省略CROSS即JOIN,或者使用','  如: SELECT * FROM table1 CROSS JOI ...

  7. SQL数据库不用SQL语句能显示全表的内容_详解mysql数据库sql优化技巧总结

    概述 关于SQL优化的教程很多,但是比较杂乱.所以抽空整理了一下,也写出来跟大家分享一下.以下主要针对MySQL数据库,Oracle数据库也可以参考. 优化技巧总结 1.建索引 对查询进行优化,要尽量 ...

  8. mysql 长事务查询_MySQL长事务详解

    前言: 『入门MySQL』系列文章已经完结,今后我的文章还是会以MySQL为主,主要记录下近期工作及学习遇到的场景或者自己的感悟想法,可能后续的文章不是那么连贯,但还是希望大家多多支持.言归正传,本篇 ...

  9. 如何查看mysql备份的情况_MySQL数据库备份详解(示例代码)

    原文:MySQL数据库备份详解 对于任何数据库来说,备份都是非常重要的 数据库复制不能取代备份的作用 比如我们由于误操作,在主数据库上删除了一些数据,由于主从复制的时间很短,在发现时,从数据库上的数据 ...

  10. mysql binlog sql统计_mysql的binlog详解

    binlog是mysql记录操作的二进制日志文件,有三种格式可选,但是老旧的SBR已经不适合现在大多数业务需求,所以大多数都建议用MBR和RBR,即mixed或row,而解析他的原因,几乎都只有一个, ...

最新文章

  1. [Erlang33]使用recon从网页查看Erlang运行状态
  2. mysqldump备份数据库
  3. .NET CORE迁移踩坑
  4. 【html、CSS、javascript-8】JavaScript作用域
  5. JAVA中的break[标签]continue[标签]用法
  6. mysql x64界面配置版下载_MySQL下载安装、配置与使用(win7x64)
  7. order one question for the 4e4 exploitation
  8. 分享25个高质量的移动设备wordpress主题(Mobile theme)
  9. 第十九期:HTTPS虐我千百遍,我却待她如初恋!
  10. 安装WindowBuilder后,新建JFrame文件,不能查看Design
  11. 计算机网络电缆是什么,插入Cat的计算机网络电缆和插入路由器的计算机的网络电缆有什么区别?...
  12. 字符串转python对象
  13. python编写web漏洞扫描器_Python脚本实现Web漏洞扫描工具
  14. 不同品牌路由器无线桥接的设置方法
  15. Flutter TV应用的开发尝试
  16. 密码算法测试向量——目录
  17. 敏捷开发中,团队成员认领的是任务还是用户故事?
  18. webshell一句话
  19. PHP求职宝典系列——PHP Web 编程篇
  20. 虚拟机关机出现shutting down... running guests on default URT

热门文章

  1. 网络爬虫--16.BeautifulSoup4
  2. jboss mysql cluster_jboss配置mysql数据库连接池
  3. 什么材料反射热量好_封阳台用什么材料好,封阳台用什么玻璃好
  4. 深度学习之RetinaNet
  5. oracle存储过程季度方法,Oracle存储过程、触发器实现获取时间段内周、月、季度的具体时间...
  6. 01Pandas_数据结构
  7. 在vue.js引用图片的问题
  8. Javascript中NaN、null和undefinded的区别
  9. Fantasia (Tarjan+树形DP)
  10. [JZOJ P1288] [DP]矩阵取数