一、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. Java内部类的总结

    内部类是指在一个外部类的内部再定义一个类.类名不需要和文件夹相同. 内部类分为: 成员内部类.局部内部类.静态嵌套类.匿名内部类 . 1.成员内部类 成员内部类是最普通的内部类,它的定义为位于另一个类 ...

  2. Activiti-02-activiti api

    流程引擎API和服务 通过ProcessEngine你可以获取各种服务,它和所有的服务对象都是线程安全的,因此整个整个应用中可以只有一份. ProcessEngine processEngine =P ...

  3. javascript 单元测试初入门

    1.使用mocha工具实现单元测试 ①首先准备node环境 ②安装mocha:npm install mocha 也可以进行全局安装 npm install global mocha ③安装断言库:n ...

  4. Spring配置中<context:annotation-config> VS <context:component-scan>

    Spring 中在使用注解(Annotation)会涉及到< context:annotation-config> 和 < context:component-scan>配置, ...

  5. 【ASP.NET MVC】jqGrid 增删改查详解

    1   概述 本篇文章主要是关于JqGrid的,主要功能包括使用JqGrid增删查改,导入导出,废话不多说,直接进入正题. 2   Demo相关 2.1   Demo展示 第一部分 第二部分 2.2 ...

  6. 记忆搜索与动态规划——DP背包问题

    题目描述 01背包问题 有n个重量和价值分别为\(w_i,v_i\)的物品.从这些物品中挑选出总重量不超过W的物品,求所有挑选方案中价值中总和的最大值. 限制条件 1 <= n <= 10 ...

  7. Python in/not in --- if not/if + for...[if]...构建List+ python的else子句

    区分几个容易出错的地方: in 成员运算符 - 如果字符串中包含给定的字符返回 True >>>"H" in a True not in 成员运算符 - 如果字符 ...

  8. 简单说明如何设置系统中的NLS_LANG环境变量

    概述:本地化是系统或软件运行的语言和文化环境.设置NLS_LANG环境参数是规定Oracle数据库软件本地化行为最简单的方式.NLS_LANG参数不但指定了客户端应用程序和Oracle数据库所使用的语 ...

  9. Linux jdk安装多个版本并进行切换

    1. 上传jdk7 和 jdk8 包 2. 解压 [root@localhost webapps]# tar -zxvf /package/jdk-7u80-linux-x64.tar.gz 3. 配 ...

  10. 如何从MVP模式进阶到Clean模式

    从类图上来看,MVP都是一个业务一个Presenter,每个Presenter都是一个接口,它还包含了View的接口,用于定于和View相关的行为,然后Activity等业务类实现View的接口,因为 ...