数据库基本操作-----数据库用户管理和授权
目 录
- 一、数据库用户管理
- 1.新建用户
- 2.查看用户信息
- 3.重命名用户
- 4.删除用户
- 5.修改当前登录用户密码
- 6.修改其他用户密码
- 7.忘记 root 密码的解决办法
- (1)修改 /etc/my.cnf 配置文件,不使用密码直接登录到 mysql
- (2)使用 update 修改 root 密码,刷新数据库
- 二、数据库用户授权
- 1.授予权限
- 2.查看权限
- 3.撤销权限
一、数据库用户管理
1.新建用户
CREATE USER '用户名'@'来源地址' [IDENTIFIED BY [PASSWORD] '密码'];
‘用户名’:指定将创建的用户名
‘来源地址’:指定新创建的用户可在哪些主机上登录,可使用IP地址、网段、主机名的形式,本地用户可用localhost,允许任意主机登录可用通配符%
‘密码’:若使用明文密码,直接输入’密码’,插入到数据库时由Mysql自动加密;
若使用加密密码,需要先使用SELECT PASSWORD(‘密码’); 获取密文,再在语句中添加 PASSWORD ‘密文’;
若省略“IDENTIFIED BY”部分,则用户的密码将为空(不建议使用)
CREATE USER 'user1'@'localhost' IDENTIFIED BY '123456';SELECT PASSWORD('abc123');
CREATE USER 'user2'@'localhost' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9';
2.查看用户信息
#创建后的用户保存在 mysql 数据库的 user 表里
USE mysql;
SELECT User,authentication_string,Host from user;
3.重命名用户
RENAME USER 'zhangsan'@'localhost' TO 'lisi'@'localhost';
4.删除用户
DROP USER 'lisi'@'localhost';
5.修改当前登录用户密码
SET PASSWORD = PASSWORD('abc123');
6.修改其他用户密码
SET PASSWORD FOR 'user1'@'localhost' = PASSWORD('abc123');
use mysql;
SELECT User,authentication_string,Host from user;
7.忘记 root 密码的解决办法
(1)修改 /etc/my.cnf 配置文件,不使用密码直接登录到 mysql
vim /etc/my.cnf
[mysqld]
skip-grant-tables #添加,使登录mysql不使用授权表systemctl restart mysqldmysql #直接登录
(2)使用 update 修改 root 密码,刷新数据库
UPDATE mysql.user SET AUTHENTICATION_STRING = PASSWORD('abc123') where user='root';FLUSH PRIVILEGES;
quitmysql -u root -p abc123注意:最后再把 /etc/my.cnf 配置文件里的 skip-grant-tables 删除,并重启 mysql 服务。
二、数据库用户授权
1.授予权限
GRANT语句:专门用来设置数据库用户的访问权限。当指定的用户名不存在时,GRANT语句将会创建新的用户;当指定的用户名存在时,GRANT 语句用于修改用户信息。GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'来源地址' [IDENTIFIED BY '密码'];
#权限列表:用于列出授权使用的各种数据库操作,以逗号进行分隔,如“select,insert,update”。使用“all”表示所有权限,可授权执行任何操作。
#数据库名.表名:用于指定授权操作的数据库和表的名称,其中可以使用通配符“”。例如,使用“kgc.”表示授权操作的对象为 kgc数据库中的所有表。
#‘用户名@来源地址’:用于指定用户名称和允许访问的客户机地址,即谁能连接、能从哪里连接。来源地址可以是域名、IP 地址,还可以使用“%”通配符,表示某个区域或网段内的所有地址,如“%.kgc.com”、“192.168.80.%”等。
#IDENTIFIED BY:用于设置用户连接数据库时所使用的密码字符串。在新建用户时,若省略“IDENTIFIED BY”部分, 则用户的密码将为空。
#允许用户 zhangsan 在本地查询 class数据库中 所有表的数据记录,但禁止查询其他数据库中的表的记录。
GRANT select ON class.* TO 'zhangsan'@'localhost' IDENTIFIED BY '123456';#允许用户 lisi 在所有终端远程连接 mysql ,并拥有所有权限。
GRANT ALL [PRIVILEGES] ON *.* TO 'lisi'@'%' IDENTIFIED BY '123456';flush privileges;
quitmysql -u zhangsan -p 123456
use kgc;
show tables;
select * from KY08;
2.查看权限
SHOW GRANTS FOR 用户名@来源地址;
3.撤销权限
REVOKE 权限列表 ON 数据库名.表名 FROM 用户名@来源地址;
例:
REVOKE ALL ON *.* FROM 'lisi'@'%';SHOW GRANTS FOR 'lisi'@'%';
#USAGE权限只能用于数据库登陆,不能执行任何操作;USAGE权限不能被回收,即 REVOKE 不能删除用户。flush privileges;
数据库基本操作-----数据库用户管理和授权相关推荐
- 【数据库二】数据库用户管理与授权
数据库用户管理与授权 1.MySQL数据库管理 1.1 常用的数据类型 1.2 char和varchar区别 1.3 SQL语句分类 2.数据表高级操作 2.1 克隆表 2.2 清空表 2.3 创建临 ...
- 数据库用户管理和授权
SQL分类 SQL分类 具体操作DDL 操作数据库和表DML 增删改表中数据DQL 查询表中数据DCL 管理用户,授权 DBA:数据库管理员,专门对数据库进行管理和授权的的相关操作. 用户管理 mys ...
- Oracle数据库 登录命令 用户管理 建表 修改字段 数据类型 约束 增删改查
什么是数据库? 存储数据的仓库 优点: 1.可存储大量数据 2.方便检索 3.保持数据的一致性.完整性 4.安全,可共享 解决的问题? 数据的持久化(把数据写到磁盘中) 安装看安装文档: 口令管理: ...
- SQL 用户管理和授权
一.MySQL权限分类 mysql.user 全局权限 mysql.db 只能操作某个数据库 mysql.table_priv 只能操作某个表 mysql.columns 只能对某个列进行操 ...
- Oracle用户管理和授权
文章目录 Oracle表空间 Oracle用户添加 1.分配表空间 2.新建用户和密码,并分配表空间 用户授权 1.授权操作 2.回收权限 修改用户 1.修改密码 2.解锁.锁定用户 删除用户 Ora ...
- mysql授权用户多个数据库_MySQL创建用户授权数据库
MySQL等主流数据库的最高权限一般是root用户. 有时我们需要提供数据库的账号和密码以使用某些服务. 但实际上每个服务只会使用1个左右的数据库. 直接将root账号和密码随意分配是一件很危险的事情 ...
- 【postgresql数据库】数据库整体知识完整版-2023电子科技大学期末复习
<数据库>重要知识点 作者 内容 发布时间 博客地址 Github Trae1ounG 数据库复习 2023/6/3 Trae1ounG的博客_CSDN博客-软件测试,计算机组成原理,数据 ...
- No6-3.从零搭建spring-cloud-alibaba微服务框架,实现资源端用户认证与授权等(三,no6-3)
代码地址与接口看总目录:[学习笔记]记录冷冷-pig项目的学习过程,大概包括Authorization Server.springcloud.Mybatis Plus~~~_清晨敲代码的博客-CSDN ...
- Asp.net的用户管理
在大多数系统中,开发人员都是自己建立用户管理系统 在asp.net中,微软给了一套用户验证,权限,角色的控件和API,接下来的几往篇文单谈一下自己的浅薄认识. 引入数据库 把用户管理的数据库引入到自己 ...
最新文章
- 装管家婆系统要开启那些服务器,管家婆服务器维护注意的一些事项?
- qeephp 修改acl.yaml文件实现访问控制
- 原来博客园的日历是这样用的!
- 让你IDA Pro 快速上手使用
- 打开My Lead detail page会发生timeout的错误的解决方案
- 【模板】可持久化线段树
- Criteria和DetachedCriteria区别应用
- “世界百位名人”诠释上海世博会城市主题
- 思科智能交换机受多个严重漏洞影响
- javaSE基础篇之char
- 找工作知识储备(2)---数组字符串那些经典算法:最大子序列和,最长递增子序列,最长公共子串,最长公共子序列,字符串编辑距离,最长不重复子串,最长回文子串
- 数字交易所内存撮合、无锁并发技术源码
- 基于STM32设计的掌上游戏机(运行NES游戏模拟器)详细开发过程
- 建筑智能化资质升级需要的企业工程业绩
- Splitter和Joiner使用手册
- 计算机内存条只认了一个,怎么解决Win10插入2个4G内存条却只显示4G?
- windows许可证即将过期 win10的解决办法
- JAVA代码托管平台_推荐几个常用的代码托管平台
- 在ESNP中还原内网私接小路由器导致用户无法上网场景
- 采用Eclipse为IDE,设计一个Java程序,实现根据指定年份、月份计算该月天数的功能,即程序输入为年、月,输出为该月的天数。
热门文章
- 双(三氟甲基磺酰基)酰亚胺钠 cas91742-21-1白色-类白色晶体-粉末 分子量:303.1358892
- 【Python入门教程】第85篇 常用字符串方法之大小写判断
- adblock plus 广告过滤器的使用
- 什么是星际文件系统(IPFS)
- 李含光《C语言程序设计教程》答案第一——四章
- 刘润直播预告 | 顶级高手,如何创造财富
- 操作系统课后答案第七章
- SpringBoot集成网易企业邮箱,亲测可用
- 面试问题:发一个随机红包,100块钱给10个人。每个人最多12块钱,最少6块钱。怎么分?...
- 2021哈工大计算机系统大作业——程序人生-Hello’s P2P