一、MySQL用户管理概述

  MySQL是一个多用户的数据库,MYSQL的用户可以分为两大类:
    超级管理员用户(root),拥有全部权限
    普通用户,由root创建,普通用户只拥有root所分配的权限

二、MySQL的权限数据库 

  权限数据库:在MySQL中的mysql数据库。
  与权限相关的数据表:user,db,host,tables_priv,columns_priv,procs_priv等。

2.1、user表

  1)user表存储的信息

  用户的信息:hots(用户所在的主机),user(用户名),password(密码)
  用户的权限信息:_priv
  安全性相关的信息:ssl_,x509,记录用户登录的验证操作等
  与资源分配相关的信息:max_,
    max_questions:表示用户在一个小时内最多可以进行的查询次数。
    max_updates:表示用户在一个小时内最多可以进行的更新次数,也包括增加数据、删除数据。
    max_connections:表示用户最多可以建立的连接数。

  2)查看用户信息

  select host,user, authentication_string from mysql.user;

三、MySQL数据库用户的增删改

3.1、创建用户

  create user u_name@’%’(所有的主机都能够登录) identified by 'passwd';

  identified by 会将纯文本密码加密作为散列值存储。  

3.2、修改用户

  修改用户信息:rename user old_u_name to   new_u_name;

  mysql 5之后可以使用,之前需要使用update 更新user表.

3.3、删除用户

  删除用户信息:drop user u_name;

  mysql5之前删除用户时必须先使用revoke删除用户权限,然后删除用户,mysql5之后drop命令可以删除用户的同时删除用户的相关权限。

3.4、更改用户密码

  set password for zx_root =password('xxxxxx');
  update mysql.user set authentication_string=password('xxxx') where user='u_name';

四、MySQL的权限管理

4.1、权限设置相关的命令

  1)查看用户权限信息

    show grants for u_name;
  2)授予用户权限信息

    grant select on db_name.* to u_name;
  3)回收用户权限信息

    revoke select on db_name.* from u_name; //如果权限不存在会报错

  注意:

    1)上面的命令也可使用多个权限同时赋予和回收,权限之间使用逗号分隔:
      grant select,update,delete,insert on db_name.* to u_name;
      立即生效:flush privileges;(5.7可以不用写,自动更新)

    2)设置权限时必须给出以下信息:
      要授予的权限
      被授予访问权限的数据库或表
      用户名

4.2、grant和revoke可以在几个层次上控制访问权限

  整个服务器,使用 grant ALL 和revoke ALL
  整个数据库,使用on database.*
  特定表,使用on database.table

4.3、MySQL权限表

  

  

  注意: 

    1)MySQL命令行中的命令:tee file_name,可以将接下来所有敲入的内容以及显示的内容全部记录到某一个文件中。
    2)在MySQL终端中,当有换行命令输错之后可以使用“\c”结束输入,然后会显示刚才输入的命令在一行,可在修改之后继续。

MySQL(十六)之MySQL用户管理的更多相关文章

  1. Oracle11g温习-第十六章:用户管理

    2013年4月27日 星期六 10:50 1.概念 (1)schema : user.object    就是用户创建的对象 (2)用户认证方式:                            ...

  2. mysql的安装使用及其用户管理

    mysql的安装使用及其用户管理   一.mariadb安装 搭建yum源 [mariadb] name = MariaDB baseurl = http://mirrors.ustc.edu.cn/ ...

  3. Linux学习总结(十二)—— CentOS用户管理:创建用户、修改用户、修改密码、密码有效期、禁用账户、解锁账户、删除用户、查看所有用户信息

    文章首发于Linux学习总结(十二)-- CentOS用户管理,请尊重原创保留原文链接. 创建用户 useradd -g webadmin -d /home/zhangsan zhangsan pas ...

  4. MySQL数据库(五)--用户管理、pymysql模块

    一.用户管理(权限管理) 在MySQL中自带的mysql数据库中有4个表用于用户管理的 # 优先级从高到低 user > db > tables_priv > columns_pri ...

  5. MySQL数据库(五)—— 用户管理、pymysql模块

    用户权限管理.pymysql模块 一.用户管理(权限管理) 在MySQL中自带的mysql数据库中有4个表用于用户管理的 # 优先级从高到低 user > db > tables_priv ...

  6. 二十六、MySQL 临时表

    MySQL 临时表 MySQL 临时表在我们需要保存一些临时数据时是非常有用的.临时表只在当前连接可见,当关闭连接时,Mysql会自动删除表并释放所有空间. 临时表在MySQL 3.23版本中添加,如 ...

  7. 十六、MySQL LIKE 子句

    MySQL LIKE 子句 我们知道在 MySQL 中使用 SQL SELECT 命令来读取数据, 同时我们可以在 SELECT 语句中使用 WHERE 子句来获取指定的记录. WHERE 子句中可以 ...

  8. linux(十二)之用户管理

    前面学习了那么多关于linux的东西,相信大家都对linux应该 有一个大概的了解了.现在给大家分享的是linux中的用户管理,接下来让我们进入正题吧! 今天其实放松了一整天了,有点后悔自己没有把这些 ...

  9. Linux系列教程(十六)——Linux权限管理之ACL权限

    通过前面的两篇博客我们介绍了Linux系统的用户管理,Linux用户和用户组管理之相关配置文件 讲解了用户管理的相关配置文件,包括用户信息文件/etc/passwd,用户密码文件/etc/shadow ...

  10. Vue + Element UI 实现权限管理系统 前端篇(十二):用户管理模块

    用户管理模块 添加接口 在 http/moduls/user.js 中添加用户管理相关接口. import axios from '../axios' /* * 用户管理模块 */ // 保存 exp ...

随机推荐

  1. grep与正则表达式基础

    目录 grep 正则表达式 grep用法简介 我们介绍GREP的用法,主要用于匹配行,我们借助下面的正则表达式来介绍如何使用grep,还有就是正则表达式在linux中是极为重要的一部分. 命令:gre ...

  2. Hibernate @Embeddable注释

    在hibernate中实现自定义类型,只要实现UserType接口即可或者以Component的形式提供.JPA的@Embedded注释可以在你的Entity中使用一般的Java对象,此对象需要用@E ...

  3. eclipse设置背景保护色及常用设置

    1.设置背景颜色 2.代码自动补全 Windows-->Preferences-->Java-->Editor-->Content Asist,在Auto activation ...

  4. 深入浅出数据结构C语言版(20)——快速排序

    正如上一篇博文所说,今天我们来讨论一下所谓的"高级排序"--快速排序.首先声明,快速排序是一个典型而又"简单"的分治的递归算法. 递归的威力我们在介绍插入排序时 ...

  5. 框架应用:Spring framework (二) - AOP技术

    基础概念 线程中的方法栈 java程序虚拟机启动时会载入程序码,虚拟机会为每一条正在运行的线程生成一个方法调用栈,线程以方法运行为执行单位. AOP概念以及目标 AOP是面向切面编程,其实就是在不修改 ...

  6. PyTorch教程之Training a classifier

    我们已经了解了如何定义神经网络,计算损失并对网络的权重进行更新. 接下来的问题就是: 一.What about data? 通常处理图像.文本.音频或视频数据时,可以使用标准的python包将数据加载 ...

  7. win32多线程编程

    关于多线程多进程的学习,有没有好的书籍我接触的书里头关于多线程多进程部分,一是<操作系统原理>里面讲的相关概念   一个是<linux基础教程>里面讲的很简单的多线程多进程编程 ...

  8. hdu4081(秦始皇的道路系统)

    During the Warring States Period of ancient China(476 BC to 221 BC), there were seven kingdoms in Ch ...

  9. numpy学习整理

    今天先整理到这里,剩下的下次再整理 1.改变形状: reshape()返回改变的数组形状,但无法改变源数组形状 resize() 可以改变源数组形状 ravel() 输出类似C数组的列表,和resha ...

  10. Optional乱用Empty之No value present

    前言 看到好多文章都是推荐采用Optinal的,而经常我遇到问题的时候就想:如果设计成optional的话就不会忽略这种NullPointException错误了.然而,optional并不是想用就随 ...