MySQL数据库详解 五:用户管理

news2024/11/18 17:19:10

文章目录

  • 1. 数据库的用户管理
    • 1.1 新建用户
    • 1.2 重命名用户
    • 1.3 删除用户
    • 1.4 修改用户密码
    • 1.5 忘记用户密码的解决方法
    • 1.6 数据库用户授权
      • 1.6.1 授权用户权限类别
      • 1.6.2 添加权限
      • 1.6.2 撤销权限
  • 2. mysql命令

1. 数据库的用户管理

1.1 新建用户

create user '用户名'@'来源地址' [identified by [passwd] '密码'];

'用户名':指定将创建的用户名
'来源地址':指定新创建的用户可在哪些主机上登录,可使用IP地址、网段、主机名的形式,本地用户可用localhost,允许任意主机登录可用通配符%
'密码':若使用明文密码,直接输入'密码',插入到数据库时由Mysql自动加密;
        若使用加密密码,需要先使用SELECT PASSWORD('密码'); 获取密文,再在语句中添加 PASSWORD '密文';
        若省略“IDENTIFIED BY”部分,则用户的密码将为空(不建议使用)
select user();
#查看当前登录用户

在这里插入图片描述

use mysql
select user,host,authentication_string from user;

select user,host,authentication_string from mysql.user;
#查看当前所有用户信息

在这里插入图片描述

create user 'aaa'@'%' identified by '123456';
#创建名为aaa的用户并可以使用任意地址登录

create user 'aaa'@'192.168.67.101' identified by '123456';
#创建名为aaa的用户并只能使用192.168.67.101地址登录

create user 'aaa'@'192.168.67.0/24' identified by '123456';
#创建名为aaa的用户并只能使用192.168.67.0网段地址登录

create user 'aaa'@'localhost' identified by '123456';
#创建名为aaa的用户并只能使用本机地址登录

1.2 重命名用户

rename user '旧用户名'@'源地址' to '新用户名'@'源地址';

#示例
rename user 'aaa'@'192.168.67.101' to 'bbb'@'192.168.67.0/24';

在这里插入图片描述

1.3 删除用户

drop user '用户名'@'源地址';

#示例
drop user 'bbb'@'192.168.67.0/24';

在这里插入图片描述

1.4 修改用户密码

set password = password('密码');                
#修改当前用户密码

set password for '用户名'@'源地址' = password('密码');alter user '用户名'@'源地址' identified by '密码';
#修改目标用户密码

1.5 忘记用户密码的解决方法

#方式一
1. 修改mysql配置文件,在 [mysqld] 下面添加 skip-grant-tables 配置项
2. 重启mysqld服务,使用 mysql 密码直接登录 mysql
3. 执行 update user set authentication_string=password('密码') where user='root'; 命令修改 root 用户的密码
4. 还原mysql配置文件,重启mysqld服务,使用 mysql -u 用户名 -p密码 [-h mysql地址 -P mysql端口] 命令来验证登录
#方式二
#使用 update 修改 root 密码,刷新数据库
update mysql.user set authentication_string = passwd('abc123') where user='root';

FLUSH PRIVILEGES;
quit

mysql -u root -pabc123

注意:最后再把 /etc/my.cnf 配置文件里的 skip-grant-tables 删除,并重启 mysql 服务。

1.6 数据库用户授权

grant语句:专门用来设置数据库用户的访问权限。

当指定的用户名不存在时,grant语句将会创建新的用户;
当指定的用户名存在时, grant 语句用于修改用户信息。

1.6.1 授权用户权限类别

all privilege 权限如下

权限名作用
insert(插入数据)select (查询数据)
update(更新表的数据)
delete(删除表中数据)
create(创建库,表)
drop(删除表)
refernces(外键关联)
index(建立索引)alter(更改表属性)
create temp orary tableslock tables(锁表)
execute()
create view(创建视图(显示视图)show viewcreate routine (创建存储过程alter routine(修改存储过程)event (事件)
trigger on(创建触发器

1.6.2 添加权限

grant 权限列表 on 数据库名.表名 to '用户名'@'来源地址' [identified by '密码'];
#示例
grant insert,update,select on scj.* to 'aaa'@'192.168.67.101';
#为用户aaa添加为scj库下所有表插入数据、更新表数据、查看表数据的权限
flush privileges;
#刷新权限使其立即生效

show grants for 用户名@来源地址;        #查看用户权限

show grants for 'aaa'@'192.168.67.101';
#查看aaa用户所有的权限

在这里插入图片描述

1.6.2 撤销权限

revoke 权限列表 on 数据库名.表名 from 用户名@来源地址;
#示例
revoke all on *.* from 'aaa'@'192.168.67.101';
#撤销aaa用户所有的权限

revoke select on *.* from 'aaa'@'192.168.67.101';
#撤销aaa用户的查看权限

flush privileges;
#刷新权限使其立即生效

2. mysql命令

mysql [OPTIONS] [database]
命令格式

-A, --no-auto-rehash 禁止补全
-u, --user= 用户名,默认为root
-h, --host= 服务器主机,默认为localhost
-p, --passowrd= 用户密码,建议使用-p,默认为空密码
-P, --port= 服务器端口
-S, --socket= 指定连接socket文件路径
-D, --database= 指定默认数据库
-C, --compress 启用压缩
-e   "SQL" 执行SQL命令
-V, --version 显示版本
-v  --verbose 显示详细信息
--print-defaults 获取程序默认使用的配置
mysql>use mysql           #切换数据库
mysql> select database(); #查看当前数据库
mysql>select user();      #查看当前用户
mysql>system clear        #清屏
mysql> ^DBye              #ctrl+d 退出
#mysqladmin命令

mysqladmin [OPTIONS] command command...

#查看mysql服务是否正常,如果正常提示mysqld is alive
mysqladmin -u用户 -p密码   ping
mysqladmin -uroot -p123123  ping

#关闭mysql服务,但mysqladmin命令无法开启
mysqladmin -uroot -pcentos shutdown

#创建数据库testdb
mysqladmin -uroot -pcentos   create testdb 

#删除数据库testdb
mysqladmin -uroot -pcentos   drop testdb

#修改root密码
mysqladmin -uroot -pAdmin@123 password ‘123'

#日志滚动,生成新文件/var/lib/mysql/mariadb-bin.00000N
mysqladmin -uroot -pcentos flush-logs

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1025180.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

性能测试必备知识-使用MySQL存储过程构造大量数据:实例解析

在软件开发过程中,测试是一个不可或缺的环节。通过测试,我们可以发现并修复软件中的各种问题,提高软件的质量和稳定性。然而,手动编写大量的测试用例是一项耗时且容易出错的任务。为了解决这个问题,我们需要学会使用批…

一文了解线上展厅设计与搭建要点,线上展厅有哪些应用

引言: 线上展厅已经成为了现代营销领域中不可或缺的一部分。通过巧妙的设计与搭建,企业可以与潜在客户建立更深入的联系,提高品牌知名度,从而提高商务成交量。 一、线上展厅设计要点 线上展厅的设计是关键的一步,因为…

架构师面试必备:高并发限流算法全攻略

Hello大家好,我是小米!今天我要和大家聊一聊一个在技术面试中经常被问到的问题——高并发限流算法!这个话题非常有趣,也是我们在日常工作中经常会碰到的挑战之一。在本文中,我将详细介绍一些常见的高并发限流算法&…

无涯教程-JavaScript - SUMIF函数

描述 您可以使用SUMIF函数对满足指定条件的范围内的值求和。 语法 SUMIF (range, criteria, [sum_range])争论 Argument描述Required/Optionalrange 您要通过条件判断的单元格范围。 每个范围中的单元格必须是数字或包含数字的名称,数组或引用。 空白和文本值将被忽略。 所…

AMEYA360:村田土壤传感器新增功能

村田制作所新增了土壤传感器功能,除了以前的普通土壤外,还可对人工培养土岩棉、椰糠进行测量。 近年来,对番茄、草莓等农作物广泛使用配制营养土岩棉及椰糠等人工培养土。相较普通培养土,此类培养土的保水力非常高,且难…

面试官:Vue3.0 所采用的 Composition Api 与 Vue2.x 使用的 Options Api 有什么不同?

🎬 岸边的风:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 开始之前 正文 一、Options Api 二、Composition Api 三、对比 逻辑组织 Options API Compostion API 逻辑…

vue select联动 设置filterable坑

需求: 平台改变 获取服务类目List 服务类目改变 获取模板标题List 模板标题改变 获取关键词List 由于模板标题List数据条数较多,因此需要设置可搜索选择 问题:由于模板标题加了【filterable】属性。当服务类目改变时,模板标题要么…

肖sir__mysql之索引__010

mysql之索引 一、什么是索引? 索引是一种数据结构设计 一个索引是存储的表中数据结构; 索引是建立在表字段上, 索引包含了一列值,这个值保存在一个数据结构中 二、索引作用 1、保证数据记录的唯一性 2、实现表与表之间的参照性 3…

openGauss学习笔记-72 openGauss 数据库管理-创建和管理分区表

文章目录 openGauss学习笔记-72 openGauss 数据库管理-创建和管理分区表72.1 背景信息72.2 操作步骤72.2.1 使用默认表空间72.2.1.1 创建分区表(假设用户已创建tpcds schema)72.2.1.2 插入数据72.2.1.3 修改分区表行迁移属性72.2.1.4 删除分区72.2.1.5 增…

java学习--day6(数组)

文章目录 day5作业今天的内容1.数组1.1开发中为啥要有数组1.2在Java中如何定义数组1.3对第二种声明方式进行赋值1.4对数组进行取值1.5二维数组【了解】1.6数组可以当成一个方法的参数【重点】1.7数组可以当成一个方法的返回值1.8数组在内存中如何分配的【了解】 2.数组方法循环…

一文轻松实现在VSCode中编写Go代码

1.下载并安装VSCode VSCode(Visual Studio Code)是一款免费且功能强大的开源代码编辑器。VSCode适用于Windows、macOS和Linux操作系统,提供了丰富的编辑功能,包括语法高亮、智能代码补全、代码导航、重构支持、代码片段、多光标编…

windows常见的命令行操作

1.查看网络 ipconfig 2.根据任务id关闭进程 1.模糊搜索服务 tasklist | findstr QQ 2.根据模糊搜索结果,获取对应的pid taskkill /F /PID 5128 其他常见命令 若不清楚参数,使用(命令 /?)即可查看help

APP不存在,AK有误请检查再重试。详情查看: http://lbsyun.baidu.com/apiconsole/key

近期网站报百度地图无法使用情况,请参考百度提示的详情操作。 提示1: 提示2: 创建并复制AK教程:获取百度地图AK-易优CMS

看我72变!教你最火的 AI 变身换脸

今天要向大家推荐一个超级实用的AI换脸 APP——好说AI !这款工具让你告别繁琐的修图流程,轻松几步就能生成完美照片。更重要的是,无需电脑,只要手机就能搞定! 从前,我们看着综艺和电视剧,幻想着…

【好书推荐】《用户画像:平台构建与业务实践》

文章目录 1. 内容简介2. 书籍目录3. 图文介绍4. 送书活动 在大数据时代,如何有效地挖掘数据价值并通过画像数据进行呈现,如何基于画像数据构建平台功能并提高业务产出,是值得各类公司和业务人员思考并付诸实践的事情。通过画像释放大数据价值…

项目运行报错:error:0308010C:digital envelope routines::unsupported

node版本升到18之后,运行老项目报错 运行命令:npm run dev 解决办法: 第一步:在运行命令中补充set NODE_OPTIONS–openssl-legacy-provider & 第二步:如果依然报错,在终端中运行set NODE_OPTIONS–ope…

电视盒子什么品牌好?数码小编盘点网络电视盒子排行榜

电视盒子什么品牌好?每个品牌的优势并不一样,我们要根据自己的需求选择,看视频选无广告的,投屏频繁选投屏功能完善的,不懂的新手们可以参考小编分享的网络电视盒子排行榜,堪称目前最专业权威的电视盒子排名…

逻辑漏洞挖掘之XSS漏洞原理分析及实战演练 | 京东物流技术团队

一、前言 2月份的1.2亿条用户地址信息泄露再次给各大公司敲响了警钟,数据安全的重要性愈加凸显,这也更加坚定了我们推行安全测试常态化的决心。随着测试组安全测试常态化的推进,有更多的同事对逻辑漏洞产生了兴趣,本系列文章旨在…

2023年Gartner新技术与AI成熟度曲线

1. Gartner 将生成式 AI 置于 2023 年新技术成熟度曲线的顶峰,新兴人工智能将对商业和社会产生深远影响 根据 Gartner, Inc. 2023 年新兴技术成熟度曲线,生成式人工智能 (AI) 处于成熟度曲线期望的顶峰,预计将在两到五年内实现转型效益。生成…

Vue.js基础语法下

🎬 艳艳耶✌️:个人主页 🔥 个人专栏 :《Spring与Mybatis集成整合》《springMvc使用》 ⛺️ 生活的理想,为了不断更新自己 ! 1、事件处理器 1.1. 概述 在Vue中,事件处理器是用来处理DOM事件的方法。它可…