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年的潮玩企业,凭借琳琅满目让消费者爱不释手的创新产品…...
淘宝商品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ÿ…...
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…...
纺织行业智能化升级进入深水区:AI验布机从“可选项”变为“必选项”
过去三年,走访过数十家纺织服装企业的行业观察者会发现一个明显的变化:2023年时,AI验布机还是展会上引人驻足的新奇设备;到了2025年,它已经成为越来越多工厂标准配置的一部分。这一转变背后,折射出整个纺织…...
C++定时器实战:从线程轮询到时间轮算法的演进与选型
1. 定时器技术选型的核心痛点 当我们需要在C项目中实现定时任务调度时,最直观的做法可能就是直接开个线程轮询了。我刚开始做网络服务开发时也这么干过,结果上线后CPU直接飙到90%——这就是典型的"新手陷阱"。实际上,定时器的实现方…...
邮件安全网关怎么选?三种类型网关和功能对比全面解析
在信息技术飞速发展的今天,企业的邮件通信越来越依赖于电子邮件。然而,伴随而来的安全隐患也不容忽视。邮件安全网关作为保护企业邮件通信的重要工具,已经成为企业信息安全不可或缺的一部分。那么,邮件安全网关到底该怎么选&#…...
为 Claude Code 配置 Taotoken 以解决访问不稳定与 Token 不足问题
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为 Claude Code 配置 Taotoken 以解决访问不稳定与 Token 不足问题 Claude Code 作为一款强大的编程助手,其原生服务有…...
手把手教你:用Edge/Chrome浏览器把Jupyter Notebook作业直接保存为PDF(含画布大小调整技巧)
手把手教你:用Edge/Chrome浏览器将Jupyter Notebook作业完美导出为PDF 深夜赶作业时,你是否遇到过这样的困境:精心编写的Jupyter Notebook包含复杂公式和可视化图表,却在导出PDF时遭遇格式错乱、中文显示为方框、图表被截断等问题…...
基于Cadence Virtuoso的gm/ID曲线仿真与参数扫描实战指南
1. 从零理解gm/ID设计方法学 在模拟电路设计领域,随着工艺节点不断缩小,我们这些工程师遇到了一个尴尬的现实:教科书里的那些经典公式越来越不灵了。记得我第一次用28nm工艺设计运放时,按照传统方法计算的增益和实测结果差了近40%…...
告别风扇噪音烦恼!Fan Control:Windows上最智能的免费风扇控制软件完全指南
告别风扇噪音烦恼!Fan Control:Windows上最智能的免费风扇控制软件完全指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https:/…...
揭秘开源智能字幕系统:如何用AI实现高效的多语言内容本地化
揭秘开源智能字幕系统:如何用AI实现高效的多语言内容本地化 【免费下载链接】openlrc Transcribe and translate voice into LRC file using Whisper and LLMs (GPT, Claude, et,al). 使用whisper和LLM(GPT,Claude等)来转录、翻译你的音频为字幕文件。 …...
C语言入门指南:从核心概念到实战项目,掌握指针与内存管理
1. 项目概述:一份写给新手的C语言全景地图“长文预警,比较全面的C语言入门笔记!”——这个标题背后,是一位老码农(比如我)在某个深夜,面对无数初学者在C语言入门路上反复踩坑、四处寻找零散资料…...
AI智能体配置管理实战:基于agent-config-manager的解决方案
1. 项目概述与核心价值最近在折腾一个多智能体协作的项目,发现配置文件的管理简直是个灾难。每个智能体(Agent)都有自己的一堆参数:API密钥、模型选择、系统提示词、温度值、最大token数……更别提不同环境(开发、测试…...
