MySQL笔记——用户管理

摘要:
MySQL服务的默认端口是3306 User Rights Management关于MySQL数据库中的用户表:当用户登录时,他或她会匹配用户表中的Host、User和Password字段。如果用户只设置了查询数据库或数据表的权限,则用户权限表将加载到内存中。使用GRANT语句创建新的普通用户时,他或她不能同时使用IDENTIFIEDBY语句设置密码。您需要使用CREATE user语句创建新普通用户并设置密码。

MySQL服务的默认端口是3306

用户权限管理

MySQL笔记——用户管理第1张

关于mysql数据库中的user表:

  user表是MySQL最重要的权限表之一,在用户登录就是匹配user表中的Host、User、Password这三个字段,当三个字段同时匹配时才能允许登陆。

  user表中以priv结尾的字段就是决定了用户的权限,这些字段默认都是N。

关于mysql数据库中的user表和db表的区别:

  同样地,db表是MySQL最重要的权限表之一,它与user表的区别在于,user表的权限管理是针对所有数据库的某个用户权限,

而db表的权限管理是针对某个数据库的某个用户权限。

  例如,user表中某用户的Select_priv字段取值为Y,那么该用户可以查询所有数据库中的表;

如果该用户只设置了查询某数据库或者某数据中某个表的权限,那么该用户在user表中Select_priv字段就为N,而这个SELECT权限则记录在db表中。在db表中该用户的Select_priv字段就为Y。

  所以,用户获取权限是先根据user表,然后再根据db表的。

关于FLUSH PRIVILEGES:

  当启动MySQL后,用户权限表都会加载到内存中,当修改权限表后,并不会更新内存中的权限表,使用FLUSH PRIVILEGES就是为了把权限表重新加载到内存中。从而不用重启MySQL服务,就可以让修改的权限表生效。

新版的的mysql版本已经将创建账户和赋予权限的方式分开了,

  所以新建普通用户时,GRANT语句新建普通用户时不能同时使用IDENTIFIED BY语句设置密码,

  GRANT SELECT ON database*table TO 'user'@'host' IDENTIFIED BY 'password';

  

新建普通用户:

需要使用CREATE USER语句新建普通用户和设置密码,再用GRANT设置新用户的权限。

查看当前登录用户是否有WITH GRANT OPTION权限和CREATE USER权限,

  SHOW GRANTS FOR user;

使用CREATE USER新建用户,

  CREATE USER 'user'@'host' IDENTIFIED BY 'password';

使用GRANT语句设置新用户授权,

  GRANT SELECT ON database.table TO 'user'@'host';

如果只CREATE USER新建了用户,而没有设置用户授权,该用户不能登录mysql。

 

删除普通用户:

DROP USER 'user'@'host';

使用SET语句修改普通用户密码,

  SET PASSWORD FOR 'user'@'host';

使用REVOKE语句收回用户权限,

  REVOKE SELECT ON database.table FROM  'user'@'host';

免责声明:文章转载自《MySQL笔记——用户管理》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇0:虚幻引擎网络架构IBM Cognos Business Intelligence Serverv10.1.1以及Samples for Oracle安装部署【转】下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Sql server 使用drop database 语句,无法删除正在使用的数据库的解决办法

使用DROP DATABASE 删除数据库  显示“无法删除数据库 ,因为该数据库当前正在使用。 解决办法:在删除某一个数据库(下例中的“DB1”数据库)前,强制kill掉该数据库上的所有数据库连接。 无法删除数据库 "#Test",因为该数据库当前正在使用 --查询分析器中执行下面的语句就行了. use master go de...

C/S结构的特点(转)

C/S结构(Client/Server结构)是大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/S...

OpenStack实战(一)

  OpenStack作为当前发展势头迅猛的云计算开源项目,去年进行了一些了解,现在有空回来进行一些补充记录,当时实战的版本是那会最新版本,当然现在已经更新了好几版了,不过还是那句话“这些丝毫不影响,了解这个事物的本质,继续...”   作为一个对OpenStack是何物完全不知道,对“云计算”也是仅仅了解泛泛的我,要啃OpenStack这个骨头,先得了解...

Ubuntu中目录右下角的锁标志

  在ubuntu中如果是用root权限创建的目录,在普通权限下展示时则会出现一个锁的标志,表明该目录是一个受保护的目录(只读,不能写入和删除),普通权限无法对其进行操作。如用命令sudo mkdir dir创建目录dir,则dir目录的右下角会出现一个锁;如果用命令mkdir dir创建,则目录dir右下角不会出现锁标志。 注意:   主文件目录下创建...

mac系统下安装、启动、停止mongodb

mongodb是非关系型数据库,mysquel是关系型数据库,前者没有数据表这个说法,后者有 一. 下载nodejs,安装,一直到 node -v显示版本号,表示安装成功。 二. 本文主要讲解,安装包方式安装 mongodb,至于其他方式不做介绍。 下载Mongodb后,将Mongodb-3.2.5.tar.gz 复制到 /leleda002 路径下解压得...

Navicat for mysql 破解版安装

mysql数据库是我们软件开发常用的数据库,个人感觉挺好用的。由于 MySQL 数据库体积小、速度快、总体拥有成本低、开放源代码,其有着广泛的应用,一般中小型网站的开发都选MySQL 作为网站数据库。由于其社区版的性能卓越,因此搭配PHP和 Apache 服务器可组成良好的开发环境。但是总感觉mysql的界面让人不忍直视,感觉没有sqlserver数据库那...