【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 账号)(这里在远端效果一致) 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

哪些公司在招聘GIS开发?为什么?

之前我们给大家整理汇总了WebGIS在招岗位的一些特点,包括行业、学历、工作经验等。WebGIS招聘原来看重这个!整理了1300多份岗位得出来的干货! 很多同学好奇,这些招GIS开发的都是哪些公司?主要是做什么的? …

gym平衡木训练Q-learning完整代码

安装 pip install gym编码运行 #codingutf8import gym import numpy as npenv gym.make(CartPole-v0)max_number_of_steps 200 # 每一场游戏的最高得分 #---------获胜的条件是最近100场平均得分高于195------------- goal_average_steps 195 num_consecutive_iteration…

Pytorch入门实战 P1-实现手写数字识别

目录 一、前期准备(环境数据) 1、首先查看我们电脑的配置; 2、使用datasets导入MNIST数据集 3、使用dataloader加载数据集 4、数据可视化 二、构建简单的CNN网络 三、训练模型 1、设置超参数 2、编写训练函数 3、编写测试函数 4、…

双碳目标下DNDC模型建模方法及在土壤碳储量、温室气体排放、农田减排、土地变化、气候变化中的应用

由于全球变暖、大气中温室气体浓度逐年增加等问题的出现,“双碳”行动特别是碳中和已经在世界范围形成广泛影响。国家领导人在多次重要会议上讲到,要把“双碳”纳入经济社会发展和生态文明建设整体布局。同时,提到要把减污降碳协同增效作为促…

浅析extern关键字

C中extern关键字的使用 文章目录 C中extern关键字的使用前言正文1. C与C编译区别2. C调用C函数3. C中调用C函数 总结 前言 ​ C 是一种支持多范式的编程语言,它既可以实现面向对象的编程,也可以实现泛型编程和函数式编程。C 还具有与C语言的兼容性&…

大数据最佳实践

本文主要收录一些大数据不错的实践文章 1、数禾云上数据湖最佳实践 https://blog.51cto.com/u_15089766/2601706 该文章介绍了数禾云的数据胡实践,包含presto以及数据湖等组件的一些部署架构,文章听不错的,里面提到了为了避免presto与yarn计…

【Kaggle】练习赛《肥胖风险的多类别预测》

前言 作为机器学习的初学者,Kaggle提供了一个很好的练习和学习平台,其中有一个栏目《PLAYGROUND》,可以理解为游乐场系列赛,提供有趣、平易近人的数据集,以练习他们的机器学习技能,并每个月都会有一场比赛…

【开源】SpringBoot框架开发快乐贩卖馆管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 搞笑视频模块2.3 视频收藏模块2.4 视频评分模块2.5 视频交易模块2.6 视频好友模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 搞笑视频表3.2.2 视频收藏表3.2.3 视频评分表3.2.4 视频交易表 四、系…

【剑指offer--C/C++】JZ6 从尾到头打印链表

一、题目 二、本人思路及代码 直接在链表里进行翻转不太方便操作,但是数组就可以通过下标进行操作,于是, 思路1、 先遍历链表,以此存到vector中,然后再从后往前遍历这vector,存入到一个新的vector,就完成…

OPC UA 学习笔记:状态机/有限状态机

有限状态机 有限状态机 (FSM) 是程序员、数学家、工程师和其他专业人士用来描述具有有限数量条件状态的系统的数学模型。 有限状态机的构成包括以下内容: 一组潜在的输入事件。与潜在输入事件相对应的一组可能的输出事件。系统可以显示的一…

dubbo3适配springboot2.7.3

版本详细 <dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo</artifactId><version>3.0.3</version> </dependency><parent><groupId>org.springframework.boot</groupId><artifactId&…

13年测试老鸟,接口性能测试-压测总结汇总,一文概全...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、概述 性能测试…

LVS负载均衡群集之NAT与DR模式

一 集群和分布式 企业群集应用概述 群集的含义 Cluster&#xff0c;集群、群集 由多台主机构成&#xff0c;但对外只表现为一个整体&#xff0c;只提供一个访问入口(域名或IP地址)&#xff0c;相当于一台大型计算机。 问题&#xff1f; 互联网应用中&#xff0c;随着站点对…

leetCode刷题 4.寻找两个正序数组的中位数

目录 1. 思路 2. 解题方法 3. 复杂度 4. Code 题目&#xff1a; 给定两个大小分别为 m 和 n 的正序&#xff08;从小到大&#xff09;数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (mn)) 。 示例 1&#xff1a; 输入&…

重磅!云智慧推出轻量智能化服务管理平台轻帆云

近日&#xff0c;云智慧推出智能服务管理平台轻帆云&#xff0c;通过构建服务体系、规范服务流程、保障服务质量、提升服务效能&#xff0c;为企业提供安全可靠的一站式服务管理解决方案。SaaS轻量化部署方式&#xff0c;仅需通过简单操作&#xff0c;即可轻松完成搭建&#xf…

Java EE之线程安全问题

一.啥是线程安全问题 有些代码&#xff0c;在单个线程执行时完全正确&#xff0c;但同样的代码让多个线程同时执行&#xff0c;就会出现bug。例如以下代码&#xff1a; 给定一个变量count&#xff0c;让线程t1 t2分别自增5000次&#xff0c;然后进行打印&#xff0c;按理说co…

libftdi库编译

目录 1. 下载源码 2. Ubuntu下编译 2.1 配置编译环境 2.2 编译 3. Android NDK下编译 3.1 编译libconfuse 3.2 编译libusb 3.3 编译libudev 3.3 编译libftdi 分2部分&#xff0c;先在Ubuntu中编译&#xff0c;然后在Android NDK中编译。 1. 下载源码 下载地址&#…

企业财务分析该怎么做?重点分析哪些财务指标?

在企业经营管理的过程中&#xff0c;财务分析是评估当前企业或特定部门财务状况和绩效的过程&#xff0c;这一过程通常涉及对财务报表&#xff08;如资产负债表、利润表和现金流量表&#xff09;进行定量和定性的评估&#xff0c;以便为盈利能力、偿债能力、现金流动性和资金稳…

VMware虚拟机安装Linux教程(超详细)

目录 一、安装VMware VMware下载&#xff08;16 pro&#xff09;&#xff1a; 镜像文件&#xff08;不一定选择CentOS&#xff0c;只是为了有图形界面更好的操作)​ 安装VMware 安装虚拟机 第一步&#xff1a;点击创建新的虚拟机。​ 第二步&#xff1a;选择自定义 &…

HTML结构及常见标签

1.HTML结构 认识 HTML 标签 HTML 代码是由 " 标签 " 构成的 . 形如 : <body> hello </body> <body id "myId" > hello </body> 标签名 (body) 放到 < > 中 大部分标签成对出现 . <body> 为开始标签 , …