MySQL 用户管理操作

news2024/11/14 5:41:38

目录

一、用户管理概述

二、用户管理

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.coloradmin.cn/o/908105.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

中小学vr仿真教学课件综合管理平台拓宽了学生的视野

VR智慧教学平台可以为实践课程提供全方位的辅助&#xff0c;帮助学生更好地理解和掌握知识。本文将详细介绍VR智慧教学平台在实践课程中的作用。 一、提供沉浸式的学习体验 传统的实践课程往往需要学生亲自动手操作&#xff0c;但由于条件限制&#xff0c;很多学生无法获得实际…

【Linux命令行与Shell脚本编程】第二十章 sed进阶

Linux命令行与Shell脚本编程 第二十章 sed进阶 文章目录 Linux命令行与Shell脚本编程十.sed进阶10.1.多行命令(nNDP)10.1.1.next命令10.1.1.1.单行next命令n10.1.1.2.合并文本行N 10.1.2.多行删除命令D10.1.3.多行打印命令P 10.2.保留空间(hHgGx)10.3.排除命令(!)10.4.改变执行…

如何管理一个散漫的团队?

散漫的团队管理&#xff0c;是一个让人头疼的问题。团队成员缺乏积极性&#xff0c;工作效率低下&#xff0c;协作能力也不强&#xff0c;这样的团队很容易导致项目延误&#xff0c;影响整个团队的工作进展。那么&#xff0c;如何管理一个散漫的团队呢&#xff1f;接下来&#…

问道管理:环保板块走势强劲,启迪环境三连板,碧兴物联等涨停

环保板块21日盘中大幅走高&#xff0c;到发稿&#xff0c;碧兴物联、国泰环保、太和水、正和生态、启迪环境等涨停&#xff0c;钱江生化涨近9%。值得注意的是&#xff0c;启迪环境已连续3个交易日涨停&#xff0c; 音讯面上&#xff0c;近日国家发改委等部门联合发布《关于促进…

常见的网络设备有哪些?分别有什么作用?

个人主页&#xff1a;insist--个人主页​​​​​​ 本文专栏&#xff1a;网络基础——带你走进网络世界 本专栏会持续更新网络基础知识&#xff0c;希望大家多多支持&#xff0c;让我们一起探索这个神奇而广阔的网络世界。 目录 一、网络设备的概述 二、常见的网络设备 1、…

0009Java程序设计-jsp在线学习平台设计与实现

摘 要目 录系统实现开发环境 摘 要 在线学习平台&#xff0c;是一个利用因特网作为平台传送教学内容&#xff0c;实施网上教学&#xff0c;进行网上交流和学习的信息系统。构建在线学习系统平台&#xff0c;可以克服传统课堂教育的局限性&#xff0c;形成一种主动的、协作的、…

23种设计模式攻关

&#x1f44d;一、创建者模式 &#x1f516;1.1、单例模式 单例模式&#xff08;Singleton Pattern&#xff09;&#xff0c;用于确保一个类只有一个实例&#xff0c;并提供全局访问点。 在某些情况下&#xff0c;我们需要确保一个类只能有一个实例&#xff0c;比如数据库连接…

[oneAPI] 基于BERT预训练模型的命名体识别任务

[oneAPI] 基于BERT预训练模型的命名体识别任务 Intel DevCloud for oneAPI 和 Intel Optimization for PyTorch基于BERT预训练模型的命名体识别任务语料介绍数据集构建使用示例 命名体识别模型前向传播模型训练 结果 参考资料 比赛&#xff1a;https://marketing.csdn.net/p/f3…

PyCharm PyQt5 开发环境搭建

环境 python&#xff1a;3.6.x PyCharm&#xff1a;PyCharm 2019.3.5 (Community Edition) 安装PyQT5 pip install PyQt5 -i https://pypi.douban.com/simplepip install PyQt5-tools -i https://pypi.douban.com/simple配置PyCharm PyQtUIC Program &#xff1a;D:\Pytho…

疲劳驾驶检测和识别4:C++实现疲劳驾驶检测和识别(含源码,可实时检测)

疲劳驾驶检测和识别4&#xff1a;C实现疲劳驾驶检测和识别(含源码&#xff0c;可实时检测) 目录 疲劳驾驶检测和识别4&#xff1a;C实现疲劳驾驶检测和识别(含源码&#xff0c;可实时检测) 1.疲劳驾驶检测和识别方法 2.人脸检测方法 3.疲劳驾驶识别模型(Python) &#xf…

iPhone开启“轻点唤醒”功能但点击屏幕无反应怎么解决?

iPhone的“轻点唤醒”功能启用时&#xff0c;用户只需手指轻触或点击手机屏幕即可快速唤醒设备&#xff0c;无需按压任何按钮。然而&#xff0c;有些用户在使用“轻点唤醒”功能唤醒屏幕时&#xff0c;遇到该功能失灵&#xff0c;无法正常唤醒屏幕的情况&#xff0c;这是怎么回…

找出数组中最小K个数【最小堆】

面试题 17.14. 最小K个数 - 力扣&#xff08;LeetCode&#xff09; 设计一个算法&#xff0c;找出数组中最小的k个数。以任意顺序返回这k个数均可。 示例&#xff1a; 输入&#xff1a; arr [1,3,5,7,2,4,6,8], k 4 输出&#xff1a; [1,2,3,4]提示&#xff1a; 0 < l…

MySQL系统变量 会话变量,用户变量、mysql8.0的全局变量持久化

系统变量 分类 全局系统变量需要添加 global 关键字&#xff0c;有时把全局系统变量简称 全局变量 会话系统变量需要添加 session 关键字&#xff0c;有时也把会话系统变量称为 local 变量 局部变量 如果不写&#xff08;global、session&#xff09;默认会话级别。 静态变量在…

导轨式频率脉冲信号隔离转换电压电流信号变换器0-5KHz/0-10KHz/1-5KHz转0-10V/1-5V/0-20mA/4-20mA

主要特性 将单位脉冲信号转换成直流电压或电流信号。 精度等级&#xff1a;0.1 级、0.2 级、0.5 级。产品出厂前已检验校正&#xff0c;用户可以直接使用。 国际标准信号输入: 0-5KHz/0-10KHz/1-5KHz等 0-5V/0-10V/1-5V 等电压信号,0-10mA/0-20mA/4-20mA 等电流信号。 …

小技巧:一键上传多文件,快速导出3D翻页的电子书

​hi&#xff01;今天咱们聊一聊怎样一键上传多文件&#xff0c;快速导出电子书&#xff0c;其实就是一款很方便的工具。它能一次批量上传多文件&#xff0c;在1分钟后就能呈现出一本3D翻页的电子书 接下来就是看小编是怎么操作的&#xff0c;一起学起来吧&#xff01; 【操作步…

Linux —— 进程间通信(管道)

目录 一&#xff0c;进程间通信 二&#xff0c;管道 匿名管道 命名管道 一&#xff0c;进程间通信 进程间通信&#xff08;IPC&#xff0c;InterProcess Communication&#xff09;&#xff0c;即在不同进程之间进行信息的传播或交换&#xff1b;由于一般进程用户地址空间是…

爬虫逆向实战(十九)--某号站登录

一、数据接口分析 主页地址&#xff1a;某号站 1、抓包 通过抓包可以发现登录接口 2、判断是否有加密参数 请求参数是否加密&#xff1f; 通过查看“载荷”模块可以发现有一个jsondata_rsa的加密参数 请求头是否加密&#xff1f; 无响应是否加密&#xff1f; 无cookie是否…

数据分析问答总结

一、SQL窗口函数 1.是什么 OLAP&#xff08;Online Anallytical Processing联机分析处理&#xff09;&#xff0c;对数据库数据进行实时分析处理。 2.基本语法&#xff1a; <窗口函数>OVER &#xff08;PARTITION BY <用于分组的列名> ORDER BY <用于排序的…

【LUBAN】【功能验证】至简投屏功能之Android有线连接方式测试

1、概述 至简投屏功能之Android有线连接方式支持至简自带应用至加的投屏功能和谷歌官方的Android auto功能。 支持的功能范围列举如下&#xff1a; 1、屏幕投屏&#xff08;支持自动旋转屏&#xff09;2、音视频播放&#xff08;抖音、百度地图等&#xff09;3、车机反控手机…

红日靶场(一)vulnstack1 渗透过程分析

文章目录 环境搭建信息收集PhpMyAdmin 后台 Getshellinto outfileMysql日志文件写入shell CS后渗透MSF后渗透知识补充nmap参数分类参数速查表 dirsearch 环境搭建 ip段设置 kali (coleak)&#xff1a;192.168.145.139 Windows 7 (stu1)&#xff1a;192.168.10.181、192.168.1…