用户管理与用户权限

news2024/9/23 16:33:54

数据库用户管理

新建用户

CREATE USER '用户名'@'来源地址' [IDENTIFIED BY [PASSWORD] '密码'];

'用户名':指定将创建的用户名.
'来源地址':指定新创建的用户可在哪些主机上登录,可使用IP地址、网段、主机名的形式,本地用户可用localhost,允许任意主机登录
可用通配符%
'密码':若使用明文密码,直接输入'密码',插入到数据库时由Mysql自动加密;
若使用加密密码,需要先使用SELECT PASSWORD('密码');获取密文,再在语句中添PASSWORD '密文';

若省略“IDENTIFIED BY"部分,则用户的密码将为空(不建议使用)

CREATE USER 'chx'@'localhost' IDENTIFIED BY '123456';

SELECT PASSWORD('abc123');
CREATE USER 'chx'@'localhost' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9';

 管理用户与密码

查看用户信息
创建后的用户保存在mysql 数据库的user表里
USE mysql;
SELECT User,authentication_string,Host from user;

重命名指定
RENAME USER 'chx'@'localhost' TO 'lisi'@'localhost';

删除用户
DROP USER 'lisi'@'localhost' ;

修改当前密码
SET PASSWORD = PASSWORD('abc123');

修改其他用户密码
SET PASSWORD FOR 'lisa'@'localhost' = PASSWORD('abc123);

忘记root密码的解决办法

修改/etc/my.cnf 配置文件,免密登陆mysql
vim /etc/my.cnf
[mysqld]
skip-grant-tables    #添加,使登录mysql不使用授权表

systemctl restart mysqld
mysql    #直接登录

然后使用SQL语句修改密码
UPDATE mysql.user SET AUTHENTICATION_STRING = PASSWORD('abc123') where user='root';

FLUSH PRIVILEGES;
quit
mysql -u root -pabc123
PS:最后再把/etc/my.cnf 配置文件里的skip-grant-tables 删除,并重启mysql服务


数据库用户授权

授予权限

GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'来源地址' [IDENTIFIED BY '密码'];
grant all privileges on *.* to 'taotao'@'%' identified by '123456';

#权限列表:用于列出授权使用的各种数据库操作,以逗号进行分隔,如“select, insert, 
update”。使用"all"表示所有权限,可授权执行任何操作。

#数据库名.表名:用于指定授权操作的数据库和表的名称,其中可以使用通配符"*"。
例如,使用“kgc.*"表示授权操作的对象为school数据库中的所有表。

#'用户名@来源地址':用于指定用户名称和允许访问的客户机地址,即谁能连接、能从哪里连接。来源地址可以是域名、IP地址,还可以使用“%”通配符,表示某个区域或网段内的所有地址,如“%.xyw.com"、“192. 168.80.%”等。

#IDENTIFIED BY:用于设置用户连接数据库时所使用的密码字符串。
在新建用户时,若省略“IDENTIFIED BY"部分,则用户的密码将为空。

#允许用户zhangsan在本地查询school数据库中所有表的数据记录,
但禁止查询其他数据库中的表的记录。
GRANT select ON school.* TO 'zhangsan'@'localhost' IDENTIFIED BY 'abc123';

#允许用户lisi在所有终端远程连接mysql,并拥有所有权限。
GRANT ALL [PRIVILEGES] ON *.* TO 'lisi'@'%' IDENTIFIED BY '123456';

查看权限

SHOW GRANTS FOR 用户名@来源地址;

SHOW GRANTS FOR 'chx'@'%';

撤销权限

REVOKE 权限列表 ON 数据库名.表名 FROM 用户名@来源地址;

REVOKE ALL ON *.* FROM 'chx'@'%';

SHOW GRANTS FOR 'chx'@'%';
#USAGE权限只能用于数据库登陆,不能执行任何操作; USAGE权限不能被回收,即REVOKE不能删除用户。
flush privileges;

授权用户权限 all privileges  代表了哪些权限呢?

insert(插入数据)
select(查询数据)
update(更新表的数据)
delete (删除表中的数据)
drop     (删除库 和表)
cerate  (创建库,表)
index    (创建索引)
alter     (更改表的属性)
create view  (创建视图)
create routine  (创建存储过程)
alter routine   (修改存存储过程)
event        (事件)
trigger on    (创建触发器)

                                    

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

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

相关文章

【全站最全】被苹果、谷歌和Microsoft停产的产品(三)

2016 Narrative Clip 2012 – 2016 HARDWARE Narrative Clip was small wearable capable of automatically take a picture every 30 seconds whilst being worn throughout the day, a practice known as "life-logging". Pebble 2013 – 2016 HARDWARE Pe…

C#+WPF上位机开发(模块化+反应式)作者:重庆教主

在上位机开发领域中,C#与C两种语言是应用最多的两种开发语言,在C语言中,与之搭配的前端框架通常以QT最为常用,而C#语言中,与之搭配的前端框架是Winform和WPF两种框架。今天我们主要讨论一下C#和WPF这一对组合在上位机开…

SUI 将通过 SUI Foundation 资助 Footprint Analytics 解析其公链数据,为生态系统提供支持

2023 年 8 月 23 日消息,SUI 基金会宣布将赞助链上数据提供商 Footprint Analytics,旨在协助解析公链数据,为 SUI 的生态系统及其开发者提供全方位支持。 Footprint Analytics 将提供完整的数据报表和 API 接口, SUI 链的用户可以…

uniapp离线打包apk - Android Studio

uniapp 离线打包 基于uni-app的andiord 离线打包 开发工具及所需要的jar包​1.将下载的App离线SDK解压打开,找到HBuilder-Integrate-AS ,在Android Studio打开2.打开HBuilder X,发行->原生app本地打包->生成本地打包app资源3.在“HBuil…

GitLab-CI 指南

GitLab CI 指南 前置工作 部署GitLab 部署GitLab-Runner 注册Runner到GitLab docker exec -it gitlab-runner bash # 进入容器 gitlab-runner register #调用register命令开始注册 # 在Gitlab Setting中找到Runners,如下图所示Enter the GitLab instance URL (for example, …

做不做软测都能学的技能,一招化解磁盘空间不足!

如,我有一台服务器,磁盘空间为 50g 现在,使用了一段时间之后,磁盘空间不够了 磁盘空间不够,这个时候,如果你再执行某些写入磁盘的操作就会报错,无法执行。 测试服务器磁盘空间不够,…

最适合运动的耳机类型是什么、适合运动的耳机推荐

作为一位热衷于运动的爱好者,对于运动装备的要求十分严格。家里有很多手环和跑鞋,但在跑步时最喜欢的是听歌。一首好曲子能够改善跑步体验,延缓疲劳感。当然,并非所有的耳机都适合运动使用,选择运动耳机时需要考虑到运…

操作系统-笔记-汇总

目录 📚 前言 🌸章节汇总 🚀 学习心得 ⌛2023年8月24日 星期四 📚 前言 在学习过了《计算机组成原理》之后,对计算机硬件有了一定清晰的认识 从一个架构,到一个个硬件的诞生,一个个线路的规…

Java编程的未来:2023年值得关注的五个趋势

准备好进入Java编程这个不断发展的创新世界了吗?二十多年来,Java一直是编程世界不可或缺的一部分,其重要性始终没有改变。随着企业软件解决方案中对Java的需求持续增长,这一编程语言保持了其作为跨各种设备和集成系统创建复杂软件…

https 的ssl证书过期处理解决方案(lighthttpd)

更换证书:lighthttpd 配置文件位置:/opt/vmware/etc/lighttpd/lighttpd.conf (配置文件的最底部 G快速来到底部) 方案一:阿里云申请免费的证书 这里公司内网环境没有配置域名,可以创建一个临时域名&…

win11 docker-desktop安装记录

win11安装Docker踩坑实录 马上开始正式工作了,需要用到docker,以前在win10上安装过,新电脑是win11,心想肯定会遇到坑,就浅浅记录一下 首先看一下安装要求 需要wsl2 那么就先进行 wsl的更新 wsl --update注意这里网络…

淘宝商品销量数据接口API 淘宝商品价格接口API 淘宝商品详情数据接口API

API是什么? API(Application Programming Interface,应用程序编程接口)是一组定义、规范了不同软件组件之间交互的方法。简单来说,API就是软件系统提供给其他软件系统或开发者使用的一些接口或工具集合。通过使用API&a…

redis漏洞复现

目标机kali1:启动redis服务 攻击机kali2:查看README.md,下载文件 攻击机kali2:进行攻击,在RedisModulesSDK文件夹下创建文件exp.so文件 获取id

已解决WARNING: Pyqt5安装报错解决

废话不多说直接 开干! Pyqt5报错 ERROR: Could not find a version that satisfies the requirement pyqt5 (from versions: none) ERROR: No matching distribution found for pyqt5 更新好像不行 pip install --upgrade pip -i http://mirrors.aliyun.com/pypi/…

k8s 常用命令(三)

1、查看版本信息:kubectl version [rootmaster ~]# kubectl version [rootmaster ~]# kubectl version Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.3", GitCommit:"ca643a4d1f7bfe34773c74f7952…

湖北咸宁农业三维扫描数字化农业3d打印制造应用-CASAIM中科广电

农业是人类衣食之源、生存之本,是一切生产的首要条件,CASAIM在农业三维扫描和3d打印应用上有丰富经验。 1.三维扫描技术在农业领域的应用 CASAIM三维扫描是集光学、机电和计算机技术于一体的高新无损检测技术,能够对实物的空间外形、结构乃…

python WSGI和ASGI的区别

用户到我们web应用中间经过的相关协议,具体介绍和pyhton相关的WSGI和ASGI,我先把结论列出来,详细描述请看下面介绍! 请大家先记住这张图,带着问题和整个框架去看比较易于了解 CGI,WSGI,ASGI、…

2023亿发一体化新零售POS收银解决方案,打造连锁门店经营新未来

在零售业不断演变的今天,门店形态繁多,收银环节的共通性与差异性并存。传统的通用解决方案已不适应多样化的业态需求,而在线上线下一体化的时代背景下,全渠道经营能力也成为商家的迫切需求。 一体化新零售POS收银系统&#xff0c…

数字化转型,并非“救命良药”!

怎么样实施数字化转型?不同的人有不同的视角。有人认为需要从数字智能硬件开始落地,有人则认为需要先进行技术升级,有人认为达到数据挖掘、数据管理与数据治理才是做好了数字化,也有人认为需要从实际的应用场景去落地…… 信息化…

飞凌嵌入式受邀参加「RISC-V芯片应用交流会」并发表主题演讲

8月23日下午,在第三届RISC-V中国峰会现场,由赛昉科技主办的「RISC-V芯片应用交流会」吸引了诸多行业伙伴和专家到场参与。此次会议旨在分享赛昉科技高性能RISC-V芯片的软件生态、应用产品、解决方案等全面进展,共同探讨RISC-V芯片的未来发展和…