目 录

  • 一、数据库用户管理
    • 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. 【数据库二】数据库用户管理与授权

    数据库用户管理与授权 1.MySQL数据库管理 1.1 常用的数据类型 1.2 char和varchar区别 1.3 SQL语句分类 2.数据表高级操作 2.1 克隆表 2.2 清空表 2.3 创建临 ...

  2. 数据库用户管理和授权

    SQL分类 SQL分类 具体操作DDL 操作数据库和表DML 增删改表中数据DQL 查询表中数据DCL 管理用户,授权 DBA:数据库管理员,专门对数据库进行管理和授权的的相关操作. 用户管理 mys ...

  3. Oracle数据库 登录命令 用户管理 建表 修改字段 数据类型 约束 增删改查

    什么是数据库? 存储数据的仓库 优点: 1.可存储大量数据 2.方便检索 3.保持数据的一致性.完整性 4.安全,可共享 解决的问题? 数据的持久化(把数据写到磁盘中) 安装看安装文档: 口令管理: ...

  4. SQL 用户管理和授权

    一.MySQL权限分类 mysql.user   全局权限 mysql.db  只能操作某个数据库 mysql.table_priv  只能操作某个表 mysql.columns  只能对某个列进行操 ...

  5. Oracle用户管理和授权

    文章目录 Oracle表空间 Oracle用户添加 1.分配表空间 2.新建用户和密码,并分配表空间 用户授权 1.授权操作 2.回收权限 修改用户 1.修改密码 2.解锁.锁定用户 删除用户 Ora ...

  6. mysql授权用户多个数据库_MySQL创建用户授权数据库

    MySQL等主流数据库的最高权限一般是root用户. 有时我们需要提供数据库的账号和密码以使用某些服务. 但实际上每个服务只会使用1个左右的数据库. 直接将root账号和密码随意分配是一件很危险的事情 ...

  7. 【postgresql数据库】数据库整体知识完整版-2023电子科技大学期末复习

    <数据库>重要知识点 作者 内容 发布时间 博客地址 Github Trae1ounG 数据库复习 2023/6/3 Trae1ounG的博客_CSDN博客-软件测试,计算机组成原理,数据 ...

  8. No6-3.从零搭建spring-cloud-alibaba微服务框架,实现资源端用户认证与授权等(三,no6-3)

    代码地址与接口看总目录:[学习笔记]记录冷冷-pig项目的学习过程,大概包括Authorization Server.springcloud.Mybatis Plus~~~_清晨敲代码的博客-CSDN ...

  9. Asp.net的用户管理

    在大多数系统中,开发人员都是自己建立用户管理系统 在asp.net中,微软给了一套用户验证,权限,角色的控件和API,接下来的几往篇文单谈一下自己的浅薄认识. 引入数据库 把用户管理的数据库引入到自己 ...

最新文章

  1. 装管家婆系统要开启那些服务器,管家婆服务器维护注意的一些事项?
  2. qeephp 修改acl.yaml文件实现访问控制
  3. 原来博客园的日历是这样用的!
  4. 让你IDA Pro 快速上手使用
  5. 打开My Lead detail page会发生timeout的错误的解决方案
  6. 【模板】可持久化线段树
  7. Criteria和DetachedCriteria区别应用
  8. “世界百位名人”诠释上海世博会城市主题
  9. 思科智能交换机受多个严重漏洞影响
  10. javaSE基础篇之char
  11. 找工作知识储备(2)---数组字符串那些经典算法:最大子序列和,最长递增子序列,最长公共子串,最长公共子序列,字符串编辑距离,最长不重复子串,最长回文子串
  12. 数字交易所内存撮合、无锁并发技术源码
  13. 基于STM32设计的掌上游戏机(运行NES游戏模拟器)详细开发过程
  14. 建筑智能化资质升级需要的企业工程业绩
  15. Splitter和Joiner使用手册
  16. 计算机内存条只认了一个,怎么解决Win10插入2个4G内存条却只显示4G?
  17. windows许可证即将过期 win10的解决办法
  18. JAVA代码托管平台_推荐几个常用的代码托管平台
  19. 在ESNP中还原内网私接小路由器导致用户无法上网场景
  20. 采用Eclipse为IDE,设计一个Java程序,实现根据指定年份、月份计算该月天数的功能,即程序输入为年、月,输出为该月的天数。

热门文章

  1. 双(三氟甲基磺酰基)酰亚胺钠 cas91742-21-1白色-类白色晶体-粉末 分子量:303.1358892
  2. 【Python入门教程】第85篇 常用字符串方法之大小写判断
  3. adblock plus 广告过滤器的使用
  4. 什么是星际文件系统(IPFS)
  5. 李含光《C语言程序设计教程》答案第一——四章
  6. 刘润直播预告 | 顶级高手,如何创造财富
  7. 操作系统课后答案第七章
  8. SpringBoot集成网易企业邮箱,亲测可用
  9. 面试问题:发一个随机红包,100块钱给10个人。每个人最多12块钱,最少6块钱。怎么分?...
  10. 2021哈工大计算机系统大作业——程序人生-Hello’s P2P