MySQL用户管理和授权

目录

一.用户管理

1.1.新建用户

1.2.查看用户

1.3.重命名用户rename

1.4.删除用户

1.5.修改当前登录用户密码

1.6.修改其他用户密码

1.7.忘记root 密码并找回

二.数据库用户授权

2.1.all privilege包含的权限

2.2.授予权限

①允许指定用户查询指定数据库表

②允许用户在所有终端远程连接并拥有所有权限

2.3.查看权限

2.4.撤销权限


一.用户管理

1.1.新建用户

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

用户名:指定将创建的用户名;

来源地址:指定新创建的用户可在哪些主机上登录,可使用IP地址、网段、主机名的形式,本地用户可用localhost,允许任意主机登录可用通配符%

密码:

  • 若使用明文密码,直接输入’密码’,插入到数据库时由Mysql自动加密;
  • 若使用加密密码,需要先使用SELECT PASSWORD(‘密码’); 获取密文,再在语句中添加 PASSWORD ‘密文’;
  • 若省略“IDENTIFIED BY”部分,则用户的密码将为空(不建议使用)

明文密码的创建:

#创建用户zhuzi只允许从本机登录密码为123456
create user 'zhangrui'@'localhost' identified by '123456';#登录测试
mysql -u zhangrui -p123456

加密创建:

#获取密文
select password('123456');#创建用户时密文复制粘贴过来
create user 'shen'@'localhost' identified by password '密文';
create user 'shen'@'localhost' identified by password '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9';#登录验证
mysql -u shen -p123456

1.2.查看用户

用户数据位于mysql库的user表中#切换库
use mysql;          #查看user表中的用户信息:指定字段用户,登录认证字符串,登录主机,查看数据记录
select User,authentication_string,Host from user;  

1.3.重命名用户rename

格式:
rename user '旧用户名'@'登录主机' to '新用户名'@'登录主机';示例:
#将用户shen重命名为chao
rename user 'shen'@'localhost' to 'chao'@'localhost';#查看用户信息验证
use mysql;
select User,authentication_string,Host from user;

1.4.删除用户

格式:
drop user '用户名'@'localhost';示例:
#删除用户chao
drop user 'chao'@'localhost';use mysql
#切换数据库#验证查看
select User,authentication_string,Host from user;

1.5.修改当前登录用户密码

#原密码为123456 修改为369369
set password = password('369369');

1.6.修改其他用户密码

格式:
set password for '用户名'@'localhost' = password('新密码');示例:
#修改用户zhangrui密码由123456改为abc123
set password for 'zhangrui'@'localhost' = password('abc123');

1.7.忘记root 密码并找回

找回root密码
1)修改配置文件,在[mysqld]下添加skip-grant-tables
2)重启mysqld服务,使用 mysql 命令直接进入免密进入mysql
3)执行  update mysql.user set authentication_string=password('....') where user='root';
4)还原配置文件,重启服务,使用账号密码验证登录
vim /etc/my.conf
[mysqld]
user = mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character-set-server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=4096
default-storage-engine=INNODB
max_allowed_packet=32M
server-id = 1
skip-grant-tablessystemctl restart mysqld

注意:修改密码尽量选择字母和数字组合这种比较复杂的密码,因为太简单的密码不会修改成功

二.数据库用户授权

2.1.all privilege包含的权限

all privilege 权限如下:insert(插入数据)
select(查询数据)
update(更新表的数据)
delete(删除表中数据)
create(创建库,表)
drop(删除库,表)
refemces
index(建立索引)
alter(更改表属性)
create temp orary tables
lock tables(锁表)
execute
create view(创建视图)
show view(显示视图)
create routine(创建存储过程)
alter routine(修改存储过程)e
vent(手件)
tigger on(创建触发器)

2.2.授予权限

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

  • 当指定的用户名不存在时,grant语句将会创建新的用户
  • 当指定的用户名存在时,grant语句用于修改用户信息
格式:
grant 权限列表 on 数据库名.表名 to '用户名'@'来源地址' [identified by '密码'];
  • 权限列表:用于列出授权使用的各种数据库操作,以逗号进行分隔,如“select,insert,update”。使用“all”表示所有权限,可授权执行任何操作。
  • 数据库名.表名:用于指定授权操作的数据库和表的名称,其中可以使用通配符“”。例如,使用“kgc.”表示授权操作的对象为 kgc数据库中的所有表。
  • ‘用户名@来源地址’:用于指定用户名称和允许访问的客户机地址,即谁能连接、能从哪里连接。来源地址可以是域名、IP 地址,还可以使用“%”通配符,表示某个区域或网段内的所有地址,如“%.accp.com”、“192.168.79.%”等。
  • identified by:用于设置用户连接数据库时所使用的密码字符串。在新建用户时,若省略“IDENTIFIED BY”部分, 则用户的密码将为空。
①允许指定用户查询指定数据库表

允许用户zhangrui在本地查询test数据库中所有表的数据记录,但禁止查询其他数据库中的表的记录

#使用root用户登入数据库mysql -u root -p369369#授权*表示库下的所有表
grant select on test.* to 'zhangrui'@'localhost' identified by 'abc123';#退出数据库
quit #使用zhuo用户登入
mysql -u zhangrui -pabc123   #查看所有库
show databases;#切换库
use test;#查看所有表
show tables;

②允许用户在所有终端远程连接并拥有所有权限

允许用户zhuo在所有终端远程连接mysql,并拥有所有权限

格式:
grant all on *.* to '用户名'@'%' identified by '用户密码';示例:
grant all on *.* to 'zhangrui'@'%' identified by 'abc123';

2.3.查看权限

格式:
show grants for 用户名@来源地址;示例:
show grants for 'zhangrui'@'localhost';

2.4.撤销权限

#撤销所有权限格式:
revoke all on *.* from '用户名'@'来源地址';#撤销test库权限格式:
revoke select on test.* from '用户名'@'来源地址';示例:撤销用户zhangrui的所有权限
#查看用户zhuo的权限
show grants for 'zhangrui'@'localhost';#撤销test库权限格式:
revoke select on test.* from 'zhangrui'@'localhost';#撤销用户zhuo所有主机登录的所有权限
revoke all on *.* from 'zhangrui'@'%';

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

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

相关文章

比较Excel中的两列目录编号是否一致

使用java代码比较excel中两列是否有包含关系,若有包含关系,核对编号是否一致。 excel数据样例如下: package com.itownet.hg;import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook;import j…

sqlsugar查询数据库下的所有表,批量修改表名字

查询数据库中的所有表 using SqlSugar;namespace 批量修改数据库表名 {internal class Program{static void Main(string[] args){SqlSugarClient sqlSugarClient new SqlSugarClient(new ConnectionConfig(){ConnectionString "Data Source(localdb)\\MSSQLLocalDB;In…

双热点机制结合。5+铜死亡+铁死亡相关基因生信思路

今天给同学们分享一篇结合铜死亡和铁死亡相关基因预测肿瘤预后、免疫和药敏的生信文章“A novel signature of combing cuproptosis- with ferroptosis-related genes for prediction of prognosis, immunologic therapy responses and drug sensitivity in hepatocellular car…

Jenkins自动化部署相关shell命令

1. 只后台启动: nohup java -jar jar/demo*.jar & 2. 增加命令启动日志输出位置,防止超时处理配置: nohup java -jar /soft/gitee-demo-0.0.1-SNAPSHOT.jar >mylog.log 2>&1 & 简化写法: nohup java -jar /s…

基于STM32F412RET6的智能桶硬件设计

一、智能桶功能需求: 智能桶是一直采用Cortex-M4 嵌入式平台,搭载NB-IotTO通讯模组、智能称重采集、智能门锁监控以及温度监测等装置。主要功能如下: ▲ 具有GPS定位功能,可以通过后台APP实时定位智能桶的位置。 ▲ 具有温度监测功…

【设计模式】第11节:结构型模式之“装饰器模式”

一、简介 装饰器模式主要解决继承关系过于复杂的问题,通过组合来替代继承。它主要的作用是给原始类添加增强功能。这也是判断是否该用装饰器模式的一个重要的依据。除此之外,装饰器模式还有一个特点,那就是可以对原始类嵌套使用多个装饰器。…

第5天:基础入门-资产架构amp;端口amp;应用amp;CDNamp;WAFamp;站库分离amp;负载均衡

第5天:基础入门-资产架构&端口&应用&CDN&WAF&站库分离&负载均衡 #知识点:1. 资产架构-端口&目录&插件接口&多站点&多应用 2. 番外安全-域名&服务器本身&服务厂商&管理人员 3. 考虑阻碍-站库分离&am…

Redis-使用java代码操作Redis

🏅我是默,一个在CSDN分享笔记的博主。📚📚 ​ 🌟在这里,我要推荐给大家我的专栏《Linux》。🎯🎯 🚀无论你是编程小白,还是有一定基础的程序员,这…

go语言 | grpc原理介绍(一)

参考 https://www.nowcoder.com/discuss/389810396381683712?sourceSSRsearch 这里是b站对应的csdn博客,比较详细的介绍grpc相关原理说明,首先是大概的一个流程图说明。 什么是 RPC ? 远程过程调用(RPC)是计算机科…

[推荐]SpringBoot java实现文件/附件上传下载 服务器 数据库 拿来就用,简单实用

推荐一个思路非常简单又很实用的文件上传下载方式,代码十分简练,可以开箱即用,下面是使用到的一些工具类和业务代码; 1.文件上传实现 判断文件类型的工具类,一些使用到的实体类我会凡在文末,需要可以的自…

吴恩达《机器学习》4-1->4-5:多变量线性回归

一、引入多维特征 在多维特征中,我们考虑的不再是单一的特征,而是一组特征,例如房价模型中可能包括房间数、楼层等多个特征。这些特征将组成一个向量,表示为(𝑥₁, 𝑥₂, . . . , 𝑥ₙ)&#x…

nodelist 与 HTMLCollection 的区别

原地址 https://cloud.tencent.com/developer/article/2013289 节点与元素 根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点: 整个文档是一个文档节点每个 HTML 元素是元素节点HTML 元素内的文本是文本节点每个 HTML 属性是属性节点注释是注…

ts 简易封装 axios,统一 API

文章目录 为什么要封装目标文件结构封装通用请求方法获得类型提示http 方法文件上传使用示例实例化post 请求类型提示文件上传 总结完整代码: 为什么要封装 axios 本身已经很好用了,看似多次一举的封装则是为了让 axios 与项目解耦。比如想要将网络请求…

视频增强和修复工具 Topaz Video AI mac中文版功能

Topaz Video AI mac是一款使用人工智能技术对视频进行增强和修复的软件。它可以自动降噪、去除锐化、减少压缩失真、提高清晰度等等。Topaz Video AI可以处理各种类型的视频,包括低分辨率视频、老旧影片、手机录制的视频等。 使用Topaz Video AI非常简单&#xff0c…

突破防火墙的一种方法

当Linux防火墙阻止来自某个ip的数据时,它应该是根据ip数据报里“源IP地址”字段取得的对方ip吧,那对方就不能通过篡改“源IP地址”来绕过防火墙吗?NAT模式下的路由器就修改了这个字段。 但这样的话,攻击者是收不到服务器返回的数…

学 Java 怎么进外企?

作者:**苍何,CSDN 2023 年 实力新星,前大厂高级 Java 工程师,阿里云专家博主,土木转码,现任部门技术 leader,专注于互联网技术分享,职场经验分享。 🔥热门文章推荐&#…

麒麟KYLINIOS软件仓库搭建01-新创建软件仓库服务器

原文链接:麒麟KYLINIOS软件仓库搭建01-新创建软件仓库服务器 hello,大家好啊,今天给大家带来麒麟桌面操作系统软件仓库搭建的文章01-新创建软件仓库服务器,本篇文章主要给大家介绍了如何在麒麟桌面操作系统2203-x86版本上搭建内网…

docker 下安装mysql8.0

在docker中查询mysql镜像 PS C:\Users\admin> docker search mysql NAME DESCRIPTION STARS OFFICIAL AUTOMATED mysql MySQL is a widely used, open-source relation……

【Python_GraphicsView 学习笔记(一)】Graphics View框架的基本介绍

【Python_GraphicsView 学习笔记(一)】Graphics View框架的基本介绍 前言正文1、Graphics View框架简介2、Graphics View框架与QPainter类的区别3、Graphics View框架的三个组成部分4、场景QGraphicsScene类5、视图QGraphicsView类6、图形项QGraphicsIte…

深度学习_3 数据操作之线代,微分

线代基础 标量 只有一个元素的张量。可以通过 x torch.tensor(3.0) 方式创建。 向量 由多个标量组成的列表(一维张量)。比如 x torch.arange(4) 就是创建了一个1*4的向量。可以通过下标获取特定元素(x[3]),可以通…