当前位置: 首页 > news >正文

MySQL 用户权限和远程访问设置

目录

    • 一、用户操作
      • 查看当前拥有用户
      • 创建用户
      • 修改用户密码
      • 删除用户
      • 给root用户开放外网访问
    • 二、用户权限操作
      • 授予权限的原则
      • 查看授予用户的权限
      • 给用户添加权限
      • 回收权限

一、用户操作

先要使用root用户登录MySQL后在执行后面操作

查看当前拥有用户

SELECT host,user,Grant_priv,Super_priv FROM mysql.user;

在这里插入图片描述
这里可以看到有两个root用户,但是运行访问host不同,一个host为localhost只能本地访问,一个host为%对所有ip开放访问。

创建用户

# 语法
CREATE USER '用户名'@'host' IDENTIFIED BY '你的密码';
# 例:
# 创建test_01用户,赋予所有IP连接权限
# 如果只想给某个IP使用可以写成127.0.0.1,如果想给某个网段使用可以写成192.168.0.%,%代表全部
CREATE USER 'test_01'@'%' IDENTIFIED BY '123456';

修改用户密码

# MySQL8.0
ALTER USER '用户名'@'host' IDENTIFIED BY '新密码' PASSWORD EXPIRE NEVER;
# MySQL8.0之前版本
SET password FOR '用户名'@'host' = password('新密码');

删除用户

# 语法
DROP USER '用户名'@'host';
# 例:
# 删除用户名称为test_01 host为%的用户
DROP USER 'test_01'@'%';

给root用户开放外网访问

# 创建一个能被全部IP访问的root用户,MySQL相同用户名称但是host不同代表的是两个不同用户
CREATE USER 'root'@'%' IDENTIFIED BY '你的密码';
# 赋予'root'@'%' 用户全部权限,和授权于下一个人用户权限的能力
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

二、用户权限操作

授予权限的原则

(1)只授予能满足需要的最小权限 ,防止用户干坏事。比如用户只是需要查询,那就只给 select 权限就可以了,不要给用户赋予update 、 insert 或者 delete 权限

(2)创建用户的时候限制用户的登录主机 ,一般是限制成指定 IP 或者内网IP 段。

(3)为每个用户设置满足密码复杂度的密码 。

(4)定期清理不需要的用户 ,回收权限或者删除用户。

# 授权语法:
# 没有with GRANT option,被授权者无法授权于下一个人用户
GRANT 权限列表 on 库名.表名 to '用户名'@'主机' [with GRANT option];
mysql用户常用权限列表说明
ALL 或者ALL PRIVILEGES授予用户所有权限
CREATE授予用户创建新数据库和表的权限
DROP授予用户删除数据库和表的权限
DELETE授予用户删除表中的行的权限
ALTER授予用户修改表结构的权限
INSERT授予用户在表中插入行(add)的权限
SELECT授予用户运行select命令以从表中读取数据的权限
UPDATE授予用户更新表中的数据的权限

查看授予用户的权限

# 语法
SHOW GRANTS FOR '用户名'@'host';# 例:查看用户名root host为%
SHOW GRANTS FOR 'root'@'%';

给用户添加权限

添加权限后最好执行一下刷新权限操作 FLUSH PRIVILEGES;,避免添加权限后生效不及时

# 语法
GRANT 权限类型 ON.TO '用户名'@'host';# 例1:给用户test_01 host为%的用户赋予全部权限和所有的库所有的表
GRANT ALL PRIVILEGES ON *.* TO 'test_01'@'%';
# 例2:给用户test_01 host为%的用户赋予全部权限和所有的库所有的表,并且赋予具有授予下一个人权限的权利的授权
GRANT ALL PRIVILEGES ON *.* TO 'test_01'@'%' WITH GRANT OPTION;
# 例3:给用户test_02 host为%的用户赋予指定权限和指定库指定表
GRANT SELECT,INSERT ON test_02_db.test_02_table TO 'test_01'@'%';

回收权限

# 语法
REVOKE 权限类型 ON 数据库.FROM '用户名'@'host';# 例1:回收赋权权限
REVOKE GRANT OPTION ON *.* FROM 'test_01'@'%';
# 例1:回收用户所有库所有权限,不包含赋权权限
REVOKE ALL PRIVILEGES ON *.* FROM 'test_01'@'%';
# 例2:回收用户所有库的新增和修改权限
REVOKE INSERT,UPDATE ON *.* FROM 'test_01'@'%';
# 例3:回收用户指定数据库全部权限,前提是在赋权时只给这个用户赋予了test_01_db库的权限
REVOKE ALL PRIVILEGES ON test_01_db.* FROM 'test_01'@'%';

相关文章:

MySQL 用户权限和远程访问设置

目录 一、用户操作查看当前拥有用户创建用户修改用户密码删除用户给root用户开放外网访问 二、用户权限操作授予权限的原则查看授予用户的权限给用户添加权限回收权限 一、用户操作 先要使用root用户登录MySQL后在执行后面操作 查看当前拥有用户 SELECT host,user,Grant_pri…...

Golang基础之关键字

Type 参考 ## https://blog.csdn.net/SHELLCODE_8BIT/article/details/122837699 type有如下几种用法: 定义结构体定义接口类型定义类型别名类型查询 类型定义 type Celsius float64 // 摄氏温度 type Fahrenheit float64 // 华氏温度const (AbsoluteZeroC Cels…...

DataFrame插入多列PerformanceWarning: DataFrame is highly fragmented.

DataFrame插入多列PerformanceWarning: DataFrame is highly fragmented. dataframe列比较多,增加列的代码如下: dfpd.DataFrame() for i in range(1000):vlist[]for j in range(1000):vlist.append(j) df[COL_ str(i)] vlistdf警告错误&#x…...

Springboot登录验证的统一拦截处理

在进行Springboot项目开发的时候如何把每次请求都要验证的用户进行提取拦截统一处理 背景 如果不进行统一的拦截处理,其实这是一个非常痛苦的一件事情,因为每次用户请求你都要去进行用户的信息(用户信息存储在session中)的验证&…...

自定义类型详解(上)

结构体 1 结构体的声明 1.1 结构的基础知识 结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。 1.2 结构的声明 struct tag//struct是结构体的标志,tag是标签;名字。 {member-list;//成员变量 }variable-list;//变量列…...

【数据库——MySQL】(9)函数、查询练习及讲解

目录 1. 题目1.1 函数练习1.2 数据库查询 2. 解答2.1 函数练习2.2 数据库查询 1. 题目 1.1 函数练习 求圆周率的值,保留 6 位小数。生成两个 100 到 200 间的随机数。将”武汉大学”,”数学学院”,”计算数学”连接成一个字符串。求字符串中第三个字符为 A 的所有…...

【数据结构与算法——C语言】“串操作与算法”之“找出最长串及其长度”

目录 1. 实验内容及上机实验所用平台1.1 实验内容1.2 实验平台软件 2. 流程图3. 源代码4. 用例测试5. 实验总结 1. 实验内容及上机实验所用平台 1.1 实验内容 【问题描述】 给定两个字符串 s1 和 s2,求最长的 s1 前缀 ss 使得 ss 为 s2 的最长后缀,输出…...

泡泡玛特:一家中国潮玩品牌的出海之旅

泡泡玛特的出海之旅,可以为中国出海企业提供怎样的启示和借鉴? 中国潮玩品牌的出海之旅 如果在年轻人群体中聊起泡泡玛特,那么估计无人不知无人不晓。这家成立于2010年的潮玩企业,凭借琳琅满目让消费者爱不释手的创新产品&#xf…...

淘宝商品sku信息抓取接口api

在电商行业中,SKU是一个经常被使用的术语,但是对于很多人来说,这个词可能还比较陌生。在这篇文章中,我们将详细解释什么是SKU,以及在电商业务中它的作用和意义。 什么是SKU? SKU是“Stock Keeping Unit”…...

MySQL 多表关系(多表查询 一)

多表关系描述 MySQL是一种关系型数据库管理系统,它支持多表关系,这在数据库设计和查询中非常重要。 项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务…...

【面试高高手】——JavaIO篇(23题)

文章目录 1.什么是Java IO?2.如何从数据传输方式理解IO流?3.Java IO设计上使用了什么设计模式?4.什么是Java NIO?5.什么时BIO?6.什么是AIO?7.你怎么理解同步IO和异步IO?8.你怎么理解阻塞IO和非阻塞IO?9.IO中的输入流和输出流有…...

图像采集 deep OCR

按照芯片类型可以分为CCD相机、CMOS相机 按照传感器的结构特性可以分为线阵相机、面阵相机 按照扫描方式可以分为隔行扫描相机、逐行扫描相机 按照分辨率大小可以分为普通分辨率相机、高分辨率相机按照输出信号方式可以分为模拟相机、数字相机 按照输出色彩可以分为单色(黑白)相…...

Linux 终端命令总结

一、常用的七条命令 命令 对应英文作用lslist查看当前文件夹下的内容pwdprint work directory查看当前所在文件夹cd [目录名]change directory切换文件夹 touch [文件名]touch如果文件不存在新建文件mkdir [目录名]make directory创建目录rm[文件名]remo…...

中国核动力研究设计院使用 DolphinDB 替换 MySQL 实时监控仪表

随着仪表测点的大幅增多和采样频率的增加,中国核动力研究设计院仪控团队原本基于 MySQL 搭建的旧系统已经无法满足大量数据并发写入、实时查询和聚合计算的需求。他们在研究 DB-Engines 时序数据库榜单时了解到国内排名第一的 DolphinDB。经过测试,发现其…...

速看!软考中项100条重要知识点集锦!

1. 项目的特点有哪些? 2. 项目的组织方式有哪些?分别具有什么优缺点? 3. 项目管理过程组有哪些? 4. 怎么样才能成为一位优秀的项目经理? 5. PMO的主要职能有哪些? 6. 项目经理(PM&#xff…...

Pycharm在进行debug时出现collecting data如何解决?

Pycharm在进行debug时变量界面出现collecting data,问题如下: 解决方法:打开Setting界面,在Python Debugger选项中勾选下图中的Gevent compatible即可。...

【算法分析与设计】算法概述

目录 一、学习要点二、算法的定义三、算法的性质四、程序(Program)五、问题求解(Problem Solving)六、算法的描述七、算法分析的目的八、算法复杂性分析(一)算法时间复杂性分析(二)算法渐近复杂性1、渐进上界记号-大O符号2、渐进下…...

如何进一步全面提高项目估算精准度?

项目估算非常重要,这直接关系着项目的成本和收入,如果估算不准确,将为项目带来较大风险。一般软件规模可以用多种方式进行估算,但是用功能点估算方式更准确,而自动估算让估算更快速,我们以CoCode开发的估算…...

Git学习笔记4

GitHub是目前最火的开源项目代码托管平台。它是基于web的Git仓库,提供公有仓库和私有仓库,但私有仓库是需要付费的。 到Github上找类似的项目软件。 GitLab可以创建免费的私有仓库。 GitLab是利用 Ruby开发的一个开源的版本管理系统,实现一个…...

【红外与可见光图像融合】离散平稳小波变换域中基于离散余弦变换和局部空间频率的红外与视觉图像融合方法(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

老设备焕新:OCLP更新系统全解析

老设备焕新:OCLP更新系统全解析 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 随着苹果对旧款Mac设备的系统支持逐渐终止,许多仍能正常工作的老设…...

OneMore插件:提升OneNote效率的160+实用功能全解析

OneMore插件:提升OneNote效率的160实用功能全解析 【免费下载链接】OneMore A OneNote add-in with simple, yet powerful and useful features 项目地址: https://gitcode.com/gh_mirrors/on/OneMore 作为一名科研工作者,李明每天需要处理数十页…...

Windows音频捕获新方案:实现进程级精准录音的技术实践

Windows音频捕获新方案:实现进程级精准录音的技术实践 【免费下载链接】win-capture-audio An OBS plugin that allows capture of independant application audio streams on Windows, in a similar fashion to OBSs game capture and Discords application stream…...

LongCat-Image-Edit图片编辑神器:5分钟快速部署,一句话精准改图

LongCat-Image-Edit图片编辑神器:5分钟快速部署,一句话精准改图 1. 产品核心能力介绍 LongCat-Image-Edit是美团LongCat团队推出的开源图像编辑模型,它让复杂的图片编辑变得像说话一样简单。这个模型有三大杀手锏: 一句话精准编…...

如何高效访问优质内容?bypass-paywalls-chrome-clean工具全方位使用指南

如何高效访问优质内容?bypass-paywalls-chrome-clean工具全方位使用指南 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 在信息爆炸的数字时代,大量优质内容被…...

6个高效突破内容访问限制的开源工具使用指南

6个高效突破内容访问限制的开源工具使用指南 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 在信息爆炸的数字时代,优质内容常常被付费墙限制访问。本文将系统介绍基于开源…...

Qwen3-ASR-0.6B惊艳效果:藏语、维吾尔语等少数民族语言识别案例

Qwen3-ASR-0.6B惊艳效果:藏语、维吾尔语等少数民族语言识别案例 1. 引言:多语言语音识别的突破 语音识别技术正在改变我们与设备交互的方式,但有一个领域一直存在巨大挑战——少数民族语言的识别。传统的语音识别模型往往只支持主流语言&am…...

AI显微镜-Swin2SR基础教程:理解‘细节重构技术’对AI生成图的价值

AI显微镜-Swin2SR基础教程:理解‘细节重构技术’对AI生成图的价值 1. 从模糊到高清:AI超分的革命性突破 你是否曾经遇到过这样的情况:AI生成了一张很有创意的图片,但分辨率太低,放大后全是马赛克;或者找到…...

别再折腾虚拟机了!用Docker 5分钟搞定Oracle 10g测试环境(附阿里云镜像源)

5分钟极速部署Oracle 10g:Docker化开发环境实战指南 每次需要搭建Oracle测试环境时,你是否也经历过这样的痛苦?下载几个GB的安装包、配置复杂的系统参数、等待漫长的安装过程,最后可能还会遇到各种依赖问题。作为一名长期与Oracle…...

ROS2 Humble下,如何用一份Xacro文件同时搞定MoveIt2配置与Gazebo仿真(附完整Launch文件)

ROS2 Humble统一建模实战:Xacro文件在MoveIt2与Gazebo中的协同设计 当机械臂的URDF文件需要同时满足MoveIt2的运动规划需求和Gazebo的物理仿真要求时,开发者往往陷入两难境地。传统方案需要维护两份模型文件——一份精简版用于MoveIt,另一份增…...