MySQL 用户管理操作

目录

一、用户管理概述

二、用户管理

1、创建用户

2、删除用户

三、账户密码管理

1、root用户修改自己的密码

2、ROOT用户修改其他普通用户密码

3、普通用户修改自己的密码

 4、ROOT用户密码忘记解决办法

1)Linux系统

2)windows系统

四、用户权限

1、授予权限

2、查看权限

3、撤销权限


一、用户管理概述

MySQL是一个多用户的数据库,具有强大的访问控制系统,可以为不同用户指定允许的权限,MySQL用户可以分为普通用户和修改用户的密码等管理权限;普通用户只拥有被授予的各种权限。用户管理包括管理用户账户、权限等。

二、用户管理

1、创建用户

基本语法1---这也是最推荐使用的一种方法

CREATE USER <'用户名'@'地址'> IDENTIFIED BY ‘密码’;

 eg:

mysql> create user 'test_user'@'localhost' identified by 'test@123';
Query OK, 0 rows affected (0.00 sec)

 基本语法2---此方法慎用,因为user系统表中存储了全局级别的权限,以及影响其他账户的信息,如果破坏了user表中的记录,可能会对MySQL服务器造成很大的影响。

insert into MySQL.user(Host,User,Password) values
('host','username',PASSWORD('password'));

基本语法三---推荐使用,同时可以给用户授权于权限

GRANT SELECT ON *.* TO '用户名'@'主机名' IDENTIFIED BY '密码';
FLUSH PRIVILEGES;

2、删除用户

基本语法1---推荐使用

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

 eg:

mysql> drop user 'test_user'@'localhost';
Query OK, 0 rows affected (0.00 sec)
删除前查看用户表
mysql> select Host,User from mysql.user;
+-----------+-----------+
| Host      | User      |
+-----------+-----------+
| %         | root      |
| localhost | mysql.sys |
| localhost | root      |
| localhost | test_user |
+-----------+-----------+
4 rows in set (0.00 sec)
删除后查看用户表
mysql> select Host,User from mysql.user;
+-----------+-----------+
| Host      | User      |
+-----------+-----------+
| %         | root      |
| localhost | mysql.sys |
| localhost | root      |
+-----------+-----------+
3 rows in set (0.00 sec)

 基本语法2

delete from mysql.user where User='要删除的用户名' and Host='要删除的用户的主机名';

三、账户密码管理

1、root用户修改自己的密码

语法1

mysqladmin -u root -h localhost -p password '新密码';

 eg:

[root@master ~]#  mysqladmin -u root -h localhost -p password 'fzw@123';
Enter password: 

语法2

update mysql.user set Password=PASSWORD("新密码") where User="root" and Host="localhost";
#修改完刷新一遍
FLUSH PRIVILEGES;

 语法3

set PASSWORD=PASSWORD("新密码");

2、ROOT用户修改其他普通用户密码

 语法1

set PASSWORD FOR '用户名'@'主机名' =PASSWORD("新密码");

语法2

update mysql.user set Password=PASSWORD("新密码")
where Host='主机号' and User='用户名';

 语法3

grant usage on *.* to '用户名'@'主机号' identifed by '新密码';

3、普通用户修改自己的密码

语法

set PASSWORD=PASSWORD('新密码');

 4、ROOT用户密码忘记解决办法

1)Linux系统

先关闭mysql服务器

[root@master ~]# systemctl stop mysqld

在/etc/my.cnf文件中添加下面命令

vim /etc/my.cnf#在该文件[mysql]标签下任意位置添加此命令
skip-grant-tables

 保存后退出

启动mysql服务器,再次登录mysql就不需要输入密码了,然后再用上面修改密码的方式,任意一种,再去/etc/my.cof文件中删除刚才的命令,保存退出,重启一次mysql服务器

[root@master ~]# systemctl start mysqld #启动MySQL服务器
[root@master ~]# systemctl restart mysqld #重启MySQL服务器

2)windows系统

第一步、停止MySQL服务器

net stop MySQL

第二步、在输入mysqld --skip-grant-table

 

再次登录mysql就不用输入密码了 ,然后登录成功用上面的任意一种方法修改用户的密码。

四、用户权限

1、授予权限

基本语法

grant 权限列表 on 库名.表名 to 用户名@'客户端主机'
[identified by '密码' with option参数];

权限列表:可以根据需求给该用户什么权限

option参数:

GRANT OPTION: 授权选项

MAX_QUERIES_PER_HOUR: 定义每小时允许执行的查询数

MAX_UPDATES_PER_HOUR: 定义每小时允许执行的更新数

MAX_CONNECTIONS_PER_HOUR: 定义每小时可以建立的连接数

MAX_USER_CONNECTIONS: 定义单个用户同时可以建立的连接数

eg:该语句是给用户test_user权限在test库中所有表select、insert、update权限。

mysql> grant select,insert,update on test.* to test_user@'localhost';
Query OK, 0 rows affected (0.00 sec)

eg: 该语句是给用户所有库中的所有表,授予全部权限,几乎给ROOT权限一样了。

grant all on *.* to 用户名@localhost; 

注:* 号代表所有。 

eg:给用户指定库中指定的字段执行select权限

grant select(字段名) on 库名.表名 to 用户名@主机名;

2、查看权限

#1、查看当前用户(自己)权限
show grants; #ROOT查看指定用户权限
show grants for dba@localhost;#ROOT查看用户的全部权限
grant all on *.* to dba@localhost;

 eg:查看刚才给test_user用户授予的权限

​
mysql> show grants for test_user@'localhost';
+---------------------------------------------------------------------+
| Grants for test_user@localhost                                      |
+---------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'test_user'@'localhost'                       |
| GRANT SELECT, INSERT, UPDATE ON `test`.* TO 'test_user'@'localhost' |
+---------------------------------------------------------------------+
2 rows in set (0.00 sec)

3、撤销权限

基本语法

revoke 权限列表 on 库名.表名 from 用户名@主机名;

eg:

先查看该用户的权限有SELECT、INSERT、UPDATE。

 执行撤销INSERT、UPDATE权限

mysql> revoke insert,update on test.* from test_user@'localhost';
Query OK, 0 rows affected (0.00 sec)

查看撤销后的权限只有SELECT。

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

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

相关文章

动态规划:删除并获得点数

题目来源&#xff1a;删除并获得点数 题目分析 题目分析&#xff1a; 从题目中可以获取到的条件是&#xff0c;如果选择了i位置&#xff0c;那么就必须删除与i-1和i1的位置的值相同的所有的值。 既然要删除相同的值&#xff0c;那么我们可以想&#xff0c;要不要先排序&…

部署问题集合(十九)linux设置Tomcat、Docker,以及使用脚本开机自启(亲测)

前言 因为不想每次启动虚拟机都要手动启动一遍这些东西&#xff0c;所以想要设置成开机自启的状态 设置Tomcat开机自启 创建service文件 vi /etc/systemd/system/tomcat.service添加如下内容&#xff0c;注意修改启动脚本和关闭脚本的地址 [Unit] DescriptionTomcat9068 A…

AP9235 dc-dc升压恒流电源驱动IC 2000ma SOT23-6

概述 AP9235B 系列是一款固定振荡频率、恒流输出的升压型DC/DC转换器&#xff0c;非常适合于移动电话、PDA、数码相机等电子产品的背光驱动。输出电压可达30V &#xff0c;3.2V输入电压可以驱动六个串联LED&#xff0c; 2.5V输入电压可以驱动两路并联LED&#xff08;每路串联…

物联网在制造业中的应用

制造业目前正在经历第四次工业革命&#xff0c;物联网、人工智能和机器人等技术进步正在推动行业的发展。研究表明&#xff0c;到2024年&#xff0c;全球制造商将在物联网解决方案上投资700亿美元&#xff0c;许多制造商正在实施物联网设备&#xff0c;以利用预测性维护和复杂的…

Android 12 源码分析 —— 应用层 一(SystemUI准备篇)

Android 12 源码分析 —— 应用层一&#xff08;SystemUI准备篇&#xff09; 在接下来的时间中&#xff0c;将会使用Pixel 3(blueline)作为研究对象&#xff0c;选用AOSP的android-12.0.0_r34分支作源代码。 先从android的应用层进行探析&#xff0c;然后慢慢深入android的fr…

CrossOver2023虚拟机工具最新版本功能介绍

想要在Mac OS中运行Windows程序&#xff0c;除了使用虚拟机外&#xff0c;使用CrossOver在Mac OS系统中运行Windows程序是非常不错的选择。CrossOver基于Wine技术&#xff0c;可以在Mac OS上运行许多Windows应用程序&#xff0c;而无需安装整个Windows操作系统。 本次发布的Cr…

【JAVA程序设计】基于SpringBoot+vue的在线考试系统-以计算机网络为例,可自行录入题库-附下载地址

基于SpringBootvue的在线考试系统-以计算机网络为例&#xff0c;可自行录入题库 一、项目简介二、开发环境三、项目技术四、功能结构五、运行截图六、功能实现七、数据库设计八、源码获取 一、项目简介 随着信息技术的迅猛发展&#xff0c;教育行业正面临着巨大的变革和挑战。…

基于MATLAB开发AUTOSAR软件应用层Code mapping专题-part 3 Paramter标签页介绍

这页是参数设置的界面,那首先要知道什么是参数,参数就是算法中的系数这些可以更改的变量,接下来就是要学习如何创建参数,如下图: 打开模型资源管理器 选择model Workspace标签,点击上边工具栏里的创建参数的按钮(红色箭头指向的按钮),添加一个新的参数K,值设置为4,数…

【Golang系统开发】搜索引擎(3) 压缩倒排索引表

写在前面 假设我们的数据集中有 800000 篇文章&#xff0c;每篇文章有 200 词条&#xff0c;每个词条有6个字符&#xff0c;倒排记录数目是 1 亿。那么如果我们倒排索引表中单单记录文档id&#xff0c;不记录文档内的频率和偏移信息。 那么 文档id 的长度就必须是 l o g 2 8…

Java动态代理、反射

文章目录 动态代理调用者--->代理--->对象为什么需要代理代理的详细实现过程代码详情 反射反射概念反射中常用的方法所有代码 动态代理 调用者—>代理—>对象 动态代理就是无侵入式的给代码增加新的功能&#xff0c;通过接口保证后面的对象和代理需要实现同一个接…

19万字智慧城市总体规划与设计方案WORD

导读&#xff1a;原文《19万字智慧城市总体规划与设计方案WORD》&#xff08;获取来源见文尾&#xff09;&#xff0c;本文精选其中精华及架构部分&#xff0c;逻辑清晰、内容完整&#xff0c;为快速形成售前方案提供参考。 感知基础设施 感知基础设施架构由感知范围、感知手…

Excel/PowerPoint折线图从Y轴开始(两侧不留空隙)

默认Excel/PowerPoint折线图是这个样子的&#xff1a; 左右两侧都留了大块空白&#xff0c;很难看 解决方案 点击横坐标&#xff0c;双击&#xff0c;然后按下图顺序点击 效果

No mapping found for HTTP request with URI

参考: 参考地址 说明 ssm老项目,接过来别人的项目 临时建了一个Controller方便测试用的,结果访问掉不通,报: No mapping found for HTTP request with URIxxxx 这样的错误 解决办法 看了下web,xml配置 在 webmvc-config.xml 配置文件里面添加了几行配置 说明: com.iph.h…

实景无人直播平台是这么开发出来的

标题&#xff1a;实景无人直播平台开发&#xff1a;探索专业性、思考深度与逻辑性的全新体验 随着科技的不断进步&#xff0c;实景无人直播平台成为了当今数字娱乐领域的热门话题。这种新型娱乐方式将虚拟与现实相结合&#xff0c;为用户带来了前所未有的视听体验。本文将探…

搜狗拼音占用了VSCode及微信小程序开发者工具快捷键Ctrl + Shit + K 搜狗拼音截图快捷键

修改搜狗拼音的快捷键 右键--更多设置--属性设置--按键--系统功能快捷键--系统功能快捷键设置--取消Ctrl Shit K的勾选--勾选截屏并设置为Ctrl Shit A 微信开发者工具设置快捷键 右键--Command Palette--删除行 微信开发者工具快捷键 删除行&#xff1a;Ctrl Shit K 或…

【LeetCode】复写零

复写零 题目描述算法描述编程代码 链接: 复写零 题目描述 算法描述 编程代码 class Solution { public:void duplicateZeros(vector<int>& arr) {int n arr.size();int dest -1,cur 0;while(cur < n){if(arr[cur]){dest;}else{dest2;}cur;if(dest > n-1){…

数学建模大全及优缺点解读

分类模型 1、距离聚类&#xff08;系统聚类&#xff09;&#xff08;常用&#xff0c;需掌握&#xff09; 优点&#xff1a; ①将一批样本数据按照他们在性质上的亲密程度在没有先验知识的情况下自动进行分类 ②是一种探索性的分析方法&#xff0c;分类结果不一定相同 例如&am…

java面试基础 -- 深克隆 浅克隆

引例 说到java的克隆你还记得多少? 一说到克隆你可能就会想起来那个接口, 没错, 他就是Cloneable Cloneable是java里面内置的很常用的接口, 我们说 Object类中也有一个clone方法: 但是要想合法调用 clone 方法, 必须要先实现 Clonable 接口, 否则就会抛出 CloneNotSupportedEx…

Redis 数据库 NoSQL

目录 一、NoSQL 二、为什么会出现NoSQL技术 三、NoSQL的类别 键值&#xff08;Key-Value&#xff09;存储数据库 列存储数据库 文档型数据库 图形&#xff08;Graph&#xff09;数据库 四、NoSQL适应场景 五、在分布式数据库中CAP原理 1、CAP 2、BASE 一、NoSQL NoS…

[C++ 网络协议编程] 域名及网络地址

1. DNS服务器 DNS&#xff08;Domain Name System&#xff09;&#xff1a;是对IP地址和域名&#xff08;如:www.baidu.com等&#xff09;进行相互转换的系统&#xff0c;其核心是DNS服务器。 我们输入的www.baidu.com是域名&#xff0c;是一种虚拟地址&#xff0c;而非实际地…