Linux下MySQL用户管理、权限、密码

news2024/9/28 7:20:42

一、原理

MySQL的用户管理实质上是对用户表的管理,系统中的数据库mysql存在一张用户表(user),所有的用户都在该表内,对用户的管里也就是对该表进行增删查改的操作。

show databases;

如图中的mysql数据库,所有的用户信息都存在这个数据内的user表中。

use mysql;

select host,user,authentication_string from user;

进入该数据库后,查看user表中的内容:

如图显示了当前系统下的所有用户信息,root就是超级用户,剩下两个是系统自带的,由于没有创建普通用户,所有只有此三项。

字段含义:

host: 表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆
user: 用户名
authentication_string: 用户密码,通过password函数加密后的

二、创建普通用户

create user '用户名'@'登陆主机/ip' identified by '密码';

'登陆主机/ip' 可选项:

localhost:表示只能在本主机进行登录。

指定的ip地址:表示只允许特定ip的主机才能登录。

% :表示允许远端登录,可以在任意主机上进行登录。(建议少用)

注意:如果创建的时候报错,先执行flush privileges; 刷新一下再进行创建。

三、用户登录

本机登录:

mysql -u用户名 -p;

远程登录:

远程连接其他服务器下的mysql。需要对方的mysql下的用户登录主机设置的是指定ip或%,才能远程登录。

远程登录指令:

mysql -u用户名 -h需要连接的ip -p

四、删除用户

方式1. 使用对表的删除语句删除

DELETE FROM mysql.user WHERE user = 'username' AND host = 'localhost';

方式2.  使用DROP USER语句:

drop user '用户名'@'localhost';

 五、修改密码

方法1. 

只能给本用户自己设置密码。

set password=password('新的密码');

方法2. 

root用户修改指定用户的密码

set password for '用户名'@'主机名'=password('新的密码');

 修改密码后需要使用flush privileges;刷新一下。

root忘了密码重置

方法:先设置免密登录,登录后,在重新设置密码。

1. # vim /etc/my.cnf

2. 在[mysqld]下添加 skip-grant-tables

这时就可以无密码登录。

3. # mysql -uroot -p

4. 输入密码的时候直接回车

5. 进入后输入 # flush privileges;

6. 设置密码,指令:

set password for root@localhost=password(‘你的密码’);

这样退出后就可以使用密码登录了。

如果是普通账户密码忘了,可以直接在root下进行重置。

六、权限赋予

权限    意义
ALL [PRIVILEGES] 设置除GRANT OPTION之外的所有简单权限
ALTER 允许使用ALTER TABLE
ALTER ROUTINE 更改或取消已存储的子程序
CREATE允许使用CREATE TABLE
CREATE USER允许使用CREATE USER, DROP USER, RENAME USER和REVOKE ALL PRIVILEGES
CREATE VIEW允许使用CREATE VIEW
DELETE  允许使用DELETE
DROP允许使用DROP TABLE
INDEX允许使用CREATE INDEX和DROP INDEX
INSERT 允许使用INSERT
SELECT 允许使用SELECT
SHOW DATABASES   SHOW DATABASES显示所有数据库
SHOW VIEW 允许使用SHOW CREATE VIEW
SHUTDOWN  允许使用mysqladmin shutdown
UPDATE 允许使用UPDATE
GRANT OPTION   允许授予权限

权限赋予语句:

grant 权限列表 on 库.对象名 to '用户名'@'登陆位置' [identified by '密码'];
// grant select on ...
// grant select, delete, create on ...
// grant all [privileges] on ... -- 表示赋予该用户在该对象上的所有权限

*.* :  代表本系统中的所有数据库的所有对象(表,视图,存储过程等)
库.* :  表示某个数据库中的所有数据对象(表,视图,存储过程等)
identified by可选。 如果用户存在,赋予权限的同时修改密码,如果该用户不存在,就是创建用户

权限赋予后需要刷新才能使用:flush privileges;
例:

赋予zhangsan关于test数据库的select所有表的权限。

grant select on test.* to 'zhangsan'@'localhost';

 权限查看:

show grants for 'username'@'localhost';

查看某用户被赋予的权限。

七、权限收回

指令:

revoke 权限列表 on 库.对象名 from '用户名'@'登陆位置';

例:

revoke all on test.* from 'zhangsan'@'localhost';

回收张三关于test数据库的所有权限。

 

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

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

相关文章

一致性协议浅析

Paxos 简介 Paxos 发明者是大名鼎鼎的 Lesile Lamport。Lamport 虚拟了一个叫做 Paxos 的希腊城邦,城邦按照议会民主制的政治模式制定法律。在 Lesile Lamport 的论文中,提出了 Basic Paxos、Multi Paxos、Fast Paxos 三种模型。 Basic Paxos 角色介绍…

网络安全等级保护测评规划与设计

笔者单位网络结构日益复杂,应用不断增多,使信息系统面临更多的风险。同时,网络攻防技术发展迅速,攻击的技术门槛随着自动化攻击工具的应用也在不断降低,勒索病毒等未知威胁也开始泛滥。基于此,笔者单位拟进…

c语言嵌套循环

c语言嵌套循环 c语言嵌套循环 c语言嵌套循环一、c语言嵌套循环类型二、嵌套循环案例九九惩罚口诀 一、c语言嵌套循环类型 for(初始值;表达式;表达式) {for(初始值;表达式;表达式){代码} }int main() {for (…

报错消息号M3318:数字***没有定义对于物料类型原材料***

消息号M3318:数字***没有定义对于物料类型原材料*** 报错说明自定的物料编码,不在编码范围内,外部给号不在后台配置的范围内。MMNR可以查看后台定义的范围。 消息号:M3565对于物料类型,外部物料数一定不能只包含数量 …

获取本地IP网卡信息

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、获取本地IP,以及全部网卡信息总结 前言 一、获取本地IP,以及全部网卡信息 const os require(node:os) function getIPAdress(){/…

十三、Three场景物体增加发光特效

物体发光效果非常炫酷,本期来讲three场景内物体自带发光效果怎么来实现。本次使用的是threejs138版本,在vue3+vite+ant的项目中使用。 下面来看看实现的效果。绿色罐体有了明显的发光效果。 实现步骤 增加composer.js import { UnrealBloomPass } from three/examples/jsm/po…

C++ | 四、指针、链表

指针 指针用来储存地址定义方式,int *ptr;,使用*来表示所定义的变量是指针取地址符,ptr &a;,通过&来取得一个普通变量的地址,并储存到指针中取值(解引用),想要取得一个指针…

软件测试|Beautiful Soup库详细使用指南

简介 Beautiful Soup是一款强大的Python库,广泛用于解析HTML和XML文档,从中提取数据并进行处理。它的灵活性和易用性使得数据抽取变得简单,本文将详细介绍Beautiful Soup库的基本用法和示例。 安装Beautiful Soup 首先,需要确保…

一文详解JAVA的字节流,BufferedReader和BufferedWriter

目录 一、什么是Java的字节流 二、BufferedReader介绍 三、BufferedWriter介绍 一、什么是Java的字节流 Java的字节流是一种用于处理二进制数据的输入输出流。在Java中,字节流以字节为单位进行读取和写入操作。字节流分为输入字节流和输出字节流。 输入字节流&…

springCloude中Eureka模拟搭建集群

开三个不同端口号的服务, 而且还得模拟出三个不同的ip,由于时本机,所以只能去做三个本地域名,不要乱来,弄不好会出事的! eureka8886.com eureka8887.com eureka8888.com 这个是eureka的集群模块。 提供模块&#xff0…

Redis图形界面闪退/错误2系统找不到指定文件/windows无法启动Redis/不是内部或外部命令,也不是可运行的程序

Redis图形界面闪退/错误2系统找不到指定文件/windows无法启动Redis/不是内部或外部命令,也不是可运行的程序 我遇到了以上的问题。 其实,最重要的原因是我打开不了another redis desktop mannager,就是我安装了之后,无法打开它…

FFmpeg解决视频播放加载卡顿问题(FFmpeg+M3U8分片)

FFmpeg解决视频播放加载卡顿问题(FFmpegM3U8分片) 在这静谧的时光里,我们能够更清晰地审视自己,思考未来的方向。每一步的坚实,都是对勇气的拥抱,每一个夜晚的努力,都是对未来的信仰。不要害怕独行,因为正是…

机器学习算法实战案例:时间序列数据最全的预处理方法总结

文章目录 1 缺失值处理1.1 统计缺失值1.2 删除缺失值1.3 指定值填充1.4 均值/中位数/众数填充1.5 前后项填充 2 异常值处理2.1 3σ原则分析2.2 箱型图分析 3 重复值处理3.1 重复值计数3.2 drop_duplicates重复值处理 3 数据归一化/标准化3.1 0-1标准化3.2 Z-score标准化 技术交…

使用Openssl生成Https免费证书以及Nginx配置

1 证书和私钥的生成 1.创建服务器证书密钥文件 server.key: openssl genrsa -des3 -out server.key 2048 输入密码,确认密码,自己随便定义,但是要记住,后面会用到。 2.创建服务器证书的申请文件 server.csr openssl r…

外包干了4年,废了···

有一说一,外包没有给很高的薪资,是真不能干呀! 先说一下自己的情况,大专生,19年通过校招进入湖南某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了&#xff0…

Linux的基础命令学习

pwd - 显示当前工作目录的路径 cd - 切换工作目录,ls - 列出当前目录的文件和子目录 rm - 删除文件或目录 mkdir - 创建新目录 rm - 删除目录 nano/vi - 编辑文本文件,按Enter键进入 之后按i键就可以进入写入模式 之后输入文字以后按Esc键与:q就不保…

【设计模式-05】Facade门面Mediator调停者 | Decorator装饰器 | Chain Of Responsibility责任链

Facade门面Mediator调停者 1、Facade门面图解 2、Mediator调停者 一般是系统内部相互交错,比如消息中间件(MQ)就是这种设计模式,对各个功能或系统之间进行解耦。 Decorator装饰器 1、问题 2、解决方案 Chain Of Responsibility责任链 一、例子场景 业…

(Java企业 / 公司项目)JMeter接口压测使用(保姆式手把手教会)

一. JMeter简介认识(重点是下面的使用方法) JMeter是一个开源的Java应用程序,由Apache软件基金会开发和维护,可用于性能测试、压力测试、接口测试等。 1. 原理 JMeter的基本原理是模拟多用户并发访问应用程序,通过发…

手把手教你如何搭建Spring本地编译环境

大家好,我是极客涛,不知道小伙伴有没有和我一样的情况,在阅读Spring源码时,只通过静态的代码阅读很难有更深刻的理解,所以建议通过写测试类进行debug的方式,对核心的代码进行运行时的状态调试,这…

2024年腾讯云服务器活动价格整理汇总,5年和三年选择

腾讯云服务器租用价格表:轻量应用服务器2核2G3M价格62元一年、2核2G4M价格118元一年,540元三年、2核4G5M带宽218元一年,2核4G5M带宽756元三年、轻量4核8G12M服务器446元一年、646元15个月,云服务器CVM S5实例2核2G配置280.8元一年…