Mysql的用户管理与授权
Mysql用户管理
- 本人使用的是Mysql8.0的版本,可能会有一些语句不兼容;
1.用户管理

- 在Mysql中支持创建账户,并给账户分配权限;例如只拥有数据库A操作的权限、只拥有数据库B中某些表的权限,只拥有数据库B中某系表的读取权限
1.1 查询用户
- 使用安装后产生的mysql库中的user表;查询对应的值,其中host是允许连接地址,远程连接的时候通常配置为
% 
1.2用户管理
创建用户
-- 语法
create user '用户名'@'连接者的IP地址' identified by '密码'

修改用户
-- 语法
rename user '用户'@'密码' to '新用户名'@'ip地址'-- 修改用户
rename user 'testuser'@'localhost' to 'whj'@'localhost';


修改密码
-- 语法
set password for '用户名'@'IP' = Password('新密码');
-- 修改密码
set password for 'whj'@'localhost' = Password('XXXXX');
笔记截图

2.授权管理
创建好用户之后,就可以为用户进行授权了
授权
grant 权限 on 数据库.表 to '用户@'ip地址'
grant all privileges on testlearn.* to 'whj'@'localhost'; -- 赋予一个库的所有权限

执行完成之后发现,用户whj只有一个库的使用权限,并且不能够创建新的数据库;
grant all privileges on *.* to 'whj'@'localhost'; -- 拥有数据库的所有权限
grant all privileges on testlearn.student 'whj'@'localhost'; -- 用户拥有student表的所有权限
grant select privileges on testlearn.student to 'whj'@'localhost'; --用户拥有student表的查询权限
grant select,insert privileges on testlearn.* to 'whj'@'localhost'; -- 拥有数据库testlearn所有表的插入和修改权限
每次授予权限之后需要刷新一下权限
FLUSH PRIVILEGES;

查看授权
--语法格式
show grants for '用户'@'ip地址' -- 查看权限
show grants for 'whj'@'localhost';


取消授权
-- 语法格式
revoke 权限 on 数据库.表 from '用户'@'ip地址' revoke all PRIVILEGES on test.* from 'whj'@'localhost';


3.整体代码
-- select user,authentication_string,host from user;
-- 创建用户
CREATE user 'testuser'@'localhost' IDENTIFIED by '123456';
-- 查看创建后的用户
select user,authentication_string,host from user;
-- 修改用户
rename user 'testuser'@'localhost' to 'whj'@'localhost';
-- 修改密码
-- set password for 'whj'@'localhost' = Password('1234567');
-- === 授权管理
grant all privileges on testlearn.* to 'whj'@'localhost';
-- 一般执行完成授权之后需要进行权限的刷新
FLUSH PRIVILEGES;
grant all privileges on test.* to 'whj'@'localhost';
FLUSH PRIVILEGES;
-- 查看权限
show grants for 'whj'@'localhost';
-- 取消授权
revoke all PRIVILEGES on test.* from 'whj'@'localhost';
FLUSH PRIVILEGES;
注:一般在公司,数据库的管理由DBA同一执行;
Mysql的用户管理与授权的更多相关文章
- Cockroachdb 四、用户管理及授权
四 用户管理及授权 用户管理 简介# Create a user:cockroach user set <username> <flags> # List all users: ...
- mysql之用户管理
本文内容: 用户的介绍 查看用户 创建用户帐户 修改账户 删除帐户 关于匿名用户 首发日期:2018-04-19 用户的介绍: mysql的客户端连接是以用户名来登录服务端. 服务端可以对用户的权限来 ...
- MySQL 安装 用户管理 常用命令
MySQL目录 数据库概览 数据库介绍 Why Choose MySQL MySQL的前世今生 MySQL的安装 Windows安装MySQL5.721 installer版 Windows安 ...
- MySQL:用户管理
用户管理部分 一.数据库不安全因素 非授权用户对数据库的恶意存取和破坏: 数据库中重要或敏感的数据被泄露: 安全环境的脆弱性: 二.数据库安全的常用方法 用户标识和鉴别[使用口令鉴别]::该方法由系统 ...
- mysql用户管理及授权
以mariadb5.5版本为例 新建用户 登录mariadb # mysql -uroot -p Enter password: Welcome to the MariaDB monitor. Com ...
- 辛星解读mysql的用户管理
可能做开发的多半不太关注这方面,可是要说到做运维.那就不能不关注了.由于我们都知道,root的权限太大了.不是随便能用的.我们平时最好用一些比較低的权限的用户.这样会让我们的安全性大大提高,也能防止我 ...
- Mysql 添加用户和数据库授权
注:我的运行环境是widnows xp professional + MySQL5.0 一, 创建用户: 命令:CREATE USER 'username'@'host' IDENTIFIED BY ...
- mysql:用户管理、索引、视图、函数、存储过程
#创建一个用户并设置密码,注意IP地址要是登录mysql电脑的IP地址 USE mysql CREATE USER lisi@'192.168.149.1' IDENTIFIED BY "1 ...
- ubuntu下mysql的用户添加、授权、取消授权
一.添加用户 新增用户会有两种方式的,一种是使用create命令,另一种是直接回使用grant 命令 create user 名字@登陆地址 identified by "密码"; ...
随机推荐
- 多选菜单shell脚本
有 很多方法 可以读取Bash脚本中的用户输入. 但是,允许用户键入输入会带来一些问题. 主要问题是输入验证,您必须在其中考虑所有可能的输入. 解决此问题的一种简单方法是为Bash脚本创建一个多选菜单 ...
- 深入理解 React 的 Virtual DOM
React在前端界一直很流行,而且学起来也不是很难,只需要学会JSX.理解State和Props,然后就可以愉快的玩耍了,但想要成为React的专家你还需要对React有一些更深入的理解,希望本文对你 ...
- Spring源码-IOC部分-循环依赖-用实例证明去掉二级缓存会出现什么问题【7】
实验环境:spring-framework-5.0.2.jdk8.gradle4.3.1 Spring源码-IOC部分-容器简介[1] Spring源码-IOC部分-容器初始化过程[2] Spring ...
- Nginx 根据不同的域名来代理转发内部主机-HTTP和HTTPS
一.需求 由于公司只有一个公网,很多 web 项目都想通过 80 或 443 端口来访问,所以需要 Nginx 充当公司网关. 把唯一的公网 IP 80 端口和 443 端口跟 Nginx 网关主机 ...
- new Date时间格式转换方法
平时经常会使用到时间转换,组件库已经有很多组件可以自动生成时间类型了,但是底层的封装方法还是得有 获取当前时间 new Date() 或者自己拥有一个毫秒时间 方法如下 /** * title: 时 ...
- JAVA多线程学习十二 - Semaphere同步工具
java 中Semaphere可类比操作系统信号量,硬件资源如IO.内存.磁盘等都是有固定量的,多个程序需要竞争这些资源,没有资源就需要被挂起. 一.类和方法摘要 构造函数: public Semap ...
- 一次线上服务高 CPU 占用优化实践 (转)
线上有一个非常繁忙的服务的 JVM 进程 CPU 经常跑到 100% 以上,下面写了一下排查的过程.通过阅读这篇文章你会了解到下面这些知识. Java 程序 CPU 占用高的排查思路 可能造成线上服务 ...
- uniapp自定义顶部搜索框兼容微信小程序
zhuanzai: uniapp自定义顶部搜索框兼容微信小程序 自定义组件 navbarvue (胶囊底部高度 - 状态栏的高度) + (胶囊顶部高度 - 状态栏内的高度) = 导航栏的高度 < ...
- 论java中System.arrayCopy()与Arrays.copyOf()的区别
如果我们想拷贝一个数组,我们可能会使用System.arraycopy()或者Arrays.copyof()两种方式.在这里,我们将使用一个比较简单的示例来阐述两者之间的区别. 首先先说System. ...
- CentOS 6.4x64安装部署zabbix-2.4.5
以下内容来自于http://www.iyunv.com/thread-62087-1-1.html 补充一点,按照原文安装万之后zabbix页面会提示 zabbix server is not run ...