MySQL(十六)之MySQL用户管理
一、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用户管理的更多相关文章
- Oracle11g温习-第十六章:用户管理
2013年4月27日 星期六 10:50 1.概念 (1)schema : user.object 就是用户创建的对象 (2)用户认证方式: ...
- mysql的安装使用及其用户管理
mysql的安装使用及其用户管理 一.mariadb安装 搭建yum源 [mariadb] name = MariaDB baseurl = http://mirrors.ustc.edu.cn/ ...
- Linux学习总结(十二)—— CentOS用户管理:创建用户、修改用户、修改密码、密码有效期、禁用账户、解锁账户、删除用户、查看所有用户信息
文章首发于Linux学习总结(十二)-- CentOS用户管理,请尊重原创保留原文链接. 创建用户 useradd -g webadmin -d /home/zhangsan zhangsan pas ...
- MySQL数据库(五)--用户管理、pymysql模块
一.用户管理(权限管理) 在MySQL中自带的mysql数据库中有4个表用于用户管理的 # 优先级从高到低 user > db > tables_priv > columns_pri ...
- MySQL数据库(五)—— 用户管理、pymysql模块
用户权限管理.pymysql模块 一.用户管理(权限管理) 在MySQL中自带的mysql数据库中有4个表用于用户管理的 # 优先级从高到低 user > db > tables_priv ...
- 二十六、MySQL 临时表
MySQL 临时表 MySQL 临时表在我们需要保存一些临时数据时是非常有用的.临时表只在当前连接可见,当关闭连接时,Mysql会自动删除表并释放所有空间. 临时表在MySQL 3.23版本中添加,如 ...
- 十六、MySQL LIKE 子句
MySQL LIKE 子句 我们知道在 MySQL 中使用 SQL SELECT 命令来读取数据, 同时我们可以在 SELECT 语句中使用 WHERE 子句来获取指定的记录. WHERE 子句中可以 ...
- linux(十二)之用户管理
前面学习了那么多关于linux的东西,相信大家都对linux应该 有一个大概的了解了.现在给大家分享的是linux中的用户管理,接下来让我们进入正题吧! 今天其实放松了一整天了,有点后悔自己没有把这些 ...
- Linux系列教程(十六)——Linux权限管理之ACL权限
通过前面的两篇博客我们介绍了Linux系统的用户管理,Linux用户和用户组管理之相关配置文件 讲解了用户管理的相关配置文件,包括用户信息文件/etc/passwd,用户密码文件/etc/shadow ...
- Vue + Element UI 实现权限管理系统 前端篇(十二):用户管理模块
用户管理模块 添加接口 在 http/moduls/user.js 中添加用户管理相关接口. import axios from '../axios' /* * 用户管理模块 */ // 保存 exp ...
随机推荐
- vim格式化代码
在命令模式下,按键盘gg=G 命令含义: gg:到达文件头=:缩进G:直到文件尾
- Flask-WTF 创建表单P2
表单安全 无需任何配置,FlaskForm将提供具有CSRF(Cross-site request forgery,也被称为one-click attack 或者session riding,通常缩写 ...
- crypto加密
/* hash.js */ var crypto = require('crypto'); module.exports = function(){ this.encode = fu ...
- 一张图告诉你移动Web前端所有技术(工程化、预编译、自动化)
你要的移动web前端都在这里! 大前端方向:移动Web前端.Native客户端.Node.js. 大前端框架:React.Vue.js.Koa 跨终端技术:HTML5.CSS 3.JavaScript ...
- 开博近一年的感想 by 程序员小白
/* 好吧,这里的写博客应该理解为更宏观的写文章. */ 在去年的这个时候,我所知道的平台只有 CSDN 和博客园..然而 CSDN 的广告实在是不想吐槽了,选择博客园是一件非常自然的事情.要说开 ...
- UNREFERENCED_PARAMETER
作用:告诉编译器,已经使用了该变量,不必检测警告! 在VC编译器下,如果您用最高级别进行编译,编译器就会很苛刻地指出您的非常细小的警告.当你生命了一个变量,而没有使用时,编译器就会报警告:" ...
- vue实例讲解之vuex的使用
vuex是一个状态管理插件,本文通过一个简单的实例来讲解一下,vuex的使用. 先看一张官方的图: 这个图新手一看估计是蒙的,简单解释一下,这个图表示的就是vue通过Action Mutations ...
- 搭建LAMP环境示例
html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...
- webpack2使用ch2-entry和output简要说明
1 entry打包入口 打包字符串和数组 const webpack = require('webpack'), path = require('path'); module.exports = { ...
- ASP.NET没有魔法——ASP.NET MVC 与数据库之Entity Framework Migrations
在开发数据库应用程序的时候,经常会遇到某些表需要添加字段或者修改类型.新增表等需求,而对于EF Code First来说关注的只有实体类,当需求变更时只需要添加新的实体类或者在实体类中添加.删除.修改 ...