【MySQL】用户管理 -- 详解

如果我们只能使用  root  用户,这样存在安全隐患。这时就需要使用  MySQL  的用户管理。


一、 用户

1、用户信息

MySQL 中的用户都存储在系统数据库 MySQL 的 user  表中。
字段解释:
  • host:表示这个用户可以从哪个主机登陆,如果是 localhost,表示只能从本机登陆。
  • user:用户名。
  • authentication_string:用户密码通过 password 函数加密后的。
  • *_priv:用户拥有的权限。

2、创建用户

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

提示:如果遇到错误描述:

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

解决方法:先刷新一下权限表,然后再试一次:

flush privileges;


创建用户时带上了 %:(此时就可以在 Windows 下远程访问 Linux 客户端。)


此时便可以使用新账号新密码进行登陆。
注意:可能实际在设置密码的时候,因为 MySQL 本身的认证等级比较高,一些简单的密码无法设置,可能会报错:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements


【解决方案】
(1)查看 MySQL 初始的密码策略

查看密码设置相关要求:

SHOW VARIABLES LIKE 'validate_password%';


(2)设置密码的验证强度等级

设置 validate_password_policy 的全局参数为 LOW 即可,输入设值语句:

set global validate_password_policy=LOW;


(3)设置密码长度

当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 6 位的密码,设置 validate_password_length 的全局参数为 6 即可,输入设值语句:

set global validate_password_length=6;


(4)密码策略修改

现在可以为 MySQL 设置简单密码了,只要满足六位的长度即可,输入修改语句:

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

可以看到修改成功,表示密码策略修改成功了。


注意:在默认密码的长度最小值为 4 ,由大/小写字母各一个 + 阿拉伯数字一个 + 特殊字符一个,只要设置密码的长度小于 3 ,都将自动设值为 4。  

注意:关于新增用户这里,需要注意,不要轻易添加一个可以从任意地方登陆的 user。 


【扩展】

关于 MySQL 密码策略相关参数:
1)validate_password_length  固定密码的总长度。
2)validate_password_dictionary_file 指定密码验证的文件路径。
3)validate_password_mixed_case_count  整个密码中至少要包含大/小写字母的总个数。
4)validate_password_number_count  整个密码中至少要包含阿拉伯数字的个数。
5)validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM。
关于 validate_password_policy 的取值:

  • 0/LOW:只验证长度。
  • 1/MEDIUM:验证长度、数字、大小写、特殊字符。
  • 2/STRONG:验证长度、数字、大小写、特殊字符、字典文件。

6)validate_password_special_char_count 整个密码中至少要包含特殊字符的个数。


3、删除用户

drop user '用户名'@'主机名';


4、修改用户密码

(1)自己改自己密码

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


(2)root 用户修改指定用户的密码
set password for ' 用户名 '@' 主机名 '=password(' 新的密码 ');

注意:凡是有关密码的命令行,MySQL 不会记录下来,上下翻找不到。 


二、数据库的权限

MySQL 数据库提供的权限列表:


1、给用户授权

刚创建的用户没有任何权限,需要给用户授权。

grant 权限列表 on 库.对象名 to ' 用户名 '@' 登陆位置 ' [identified by ' 密码 '];
  • 权限列表,多个权限用逗号分开 
grant select on ...
grant select, delete, create on ....

grant all [privileges] on ... 表示赋予该用户在该对象上的所有权限

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

  • 终端 A(root 账号) 


  • 终端 B(zhangsan 账号)(这里在远端效果一致)


注意 :如果发现赋权限后,没有生效,执行如下指令:
flush privileges;

2、回收权限

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

  • 终端 A(root 账号) 


  • 终端 B(zhangsan 账号)(这里在远端效果一致) 

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

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

相关文章

【C语言】走迷宫之推箱子

前言: 在上一篇文章当中我介绍了一个走迷宫的写法,但是那个迷宫没什么可玩性和趣味性,所以我打算在迷宫的基础上加上一个推箱子,使之有更好的操作空间,从而增强了游戏的可玩性和趣味性。 1. 打印菜单 void menu() {…

Sqli-labs靶场第18关详解[Sqli-labs-less-18]自动化注入-SQLmap工具注入

Sqli-labs-Less-18 通过测试发现,在登录界面没有注入点,通过已知账号密码admin,admin进行登录发现: 返回了User Agent,设想如果在User Agent尝试加上注入语句(报错注入),测试是否会…

多个word如何批量为汉字注音?别急跟我学几秒钟搞定,快速又高效

Word文档是大家常用的办公软件之一,有大量的文章或者其他材料编写工作需要用到这款实用工具。如果我们在编制文章材料时需要给多个word里的文字添加拼音怎么办?接下来小编来为大家介绍一下如何给不同Word文档里的文字添加拼音。 欢迎访问汇帮注音大师…

总结:大模型指令对齐训练原理

原文地址:大模型指令对齐训练原理 RLHF SFT RM PPOAIHF-based RLAIF 核心在于通过AI 模型监督其他 AI 模型,即在SFT阶段,从初始模型中采样,然后生成自我批评和修正,然后根据修正后的反应微调原始模型。在 RL 阶段&…

[SS]语义分割_U-Net

U-Net网络结构讲解视频 从零开始的U-net入门 U-Net详解 研习U-Net改进 目录 一、介绍 二、详解 1、网络结构 2、网络运行过程 3、实验现状 4、分割策略 一、介绍 U-Net是一种用于生物医学图像分割的卷积神经网络架构。它由Olaf Ronneberger等人在2015年提出&#x…

让 GenAI 提供更好答案的诀窍

在使用GenAI回答有关数据的问题之前,重要的是首先评估所提出的问题。这是Miso.ai的首席执行官兼联合创始人Lucky Gunasekara对当今开发GenAI工具的团队的建议。 GenAI作为一种界面提供了巨大的潜力,使用户能够以独特的方式查询你的数据,以接…

985硕的4家大厂实习与校招经历专题分享(part1)

先简单介绍一下我的个人经历: 985硕士24届毕业生,实验室方向:CV深度学习 就业:工程-java后端 关注大模型相关技术发展 校招offer: 阿里巴巴 字节跳动 等10 研究生期间独立发了一篇二区SCI 实习经历:字节 阿里 京东 B站 (只看大厂…

区块链媒体套餐:精益求精链游媒体宣发推广7个关键细节分享-华媒舍

在如今竞争激烈的游戏行业,一款优秀的游戏缺乏有效的宣发推广,很难脱颖而出。而随着区块链技术的兴起,链游媒体的宣发推广成为游戏开发者和运营商的重要选择之一。本文将为大家介绍精益求精的链游媒体宣发推广的七个关键细节。 1. 定位目标受…

26.基于springboot + vue实现的前后端分离-就业管理系统

项目介绍 系统分为管理员、企业、求职者三个角色 管理员: 登录、个人中心、学生信息管理、企业信息管理、岗位分类管理、学历信息管理、友情链接管理、新闻资讯管理、收藏管理、招聘信息管理、应聘信息管理、求职者信息管理 企业: 注册、登录、个人…

【三】【SQL Server】如何运用SQL Server中查询设计器通关数据库期末查询大题

数据库学生选择1122 数据库展示 course表展示 SC表展示 student表展示 数据库学生选课1122_1 第一题 第二题 第三题 第四题 第五题 数据库学生选课1122_2 第六题 第七题 第八题 第九题 第十题 结尾 最后,感谢您阅读我的文章,希望这些内容能够对您有所启…

CogPMAlignTool模板匹配工具练习——计算硬币金额

计算图片中硬币的金额 在做这个练习之前我们需要认识一个新的工具,CogResultsAnalysisTool是一种用于分析和处理视觉检测结果的工具。该工具通常用于检查和验证视觉系统对图像进行处理和分析后得到的结果,以确保其准确性和可靠性。 1、首先我们要创建三…

Spring之Bean详解

Spring之Bean详解 什么是Bean? 在Spring中,Bean是指由Spring容器管理的对象,这些对象是由Spring IoC容器负责创建、组装和管理的。Bean可以是Java类的实例,也可以是其他Spring管理的组件,例如数据源、事务管理器等。…