MySQL -- 用户管理

MySQL – 用户管理

文章目录

  • MySQL -- 用户管理
  • 一、用户
    • 1.用户信息
    • 2.创建用户
    • 3.删除用户
    • 4.远端登录MySQL
    • 5.修改用户密码
    • 6.数据库的权限


一、用户

1.用户信息

MySQL中的用户,都存储在系统数据库mysql的user表中:
在这里插入图片描述

  • host: 表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆;
  • user: 用户名;
  • authentication_string: 用户密码通过password函数加密后的;
  • *_priv: 用户拥有的权限;

2.创建用户

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

在这里插入图片描述
在这里插入图片描述

  • 查看当前登录用户:
    在这里插入图片描述

3.删除用户

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

在这里插入图片描述

4.远端登录MySQL

新建允许远端登陆的用户
%表示允许任何ip地址,可以换成固定的ip地址;
在这里插入图片描述
使用windows cmd远端登录MySQL,-P后面是MySQL的端口号,这里改为了8080(默认是3306);
在这里插入图片描述

5.修改用户密码

自己改自己密码:

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

root用户修改指定用户的密码:

set password for '用户名'@'主机名'=password('新的密码')

在这里插入图片描述

6.数据库的权限

MySQL数据库提供的权限列表:
在这里插入图片描述
给用户授权:
刚创建的用户没有任何权限。需要给用户授权。

grant 权限列表 on.对象名 to '用户名'@'登陆位置' [identified by '密码'];
  • 权限列表,多个权限用逗号分开:
grant select on ...
grant select, delete, create on ....
grant all [privileges] on ... -- 表示赋予该用户在该对象上的所有权限
  • *.*: 代表本系统中的所有数据库的所有对象(表,视图,存储过程等);
  • 库.* : 表示某个数据库中的所有数据对象(表,视图,存储过程等);
  • identified by可选。 如果用户存在,赋予权限的同时修改密码,如果该用户不存在,就是创建用户;

案例:

  • 终端A:
--使用root账号
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| 57test |
| bit_index |
| ccdata_pro |
| innodb_test |
| musicserver |
| myisam_test |
| mysql |
| order_sys |
| performance_schema |
| scott |
| sys |
| test |
| vod_system |
+--------------------+
14 rows in set (0.00 sec)
mysql> use test;
Database changed
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| account |
| student |
| user |
+----------------+
3 rows in set (0.01 sec)
--给用户whb赋予test数据库下所有文件的select权限
mysql> grant select on test.* to 'whb'@'localhost';
Query OK, 0 rows affected (0.01 sec)
  • 终端B:
--使用whb账号
--终端B
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
+--------------------+
1 row in set (0.00 sec)
--暂停等root用户给whb赋完权之后,在查看
mysql> show databases;
+--------------------+
| Database |
+--------------------+
注意:如果发现赋权限后,没有生效,执行如下指令:
| information_schema |
| test | --赋完权之后,就能看到新的表
+--------------------+
2 rows in set (0.01 sec)
mysql> use test;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| account |
| student |
| user |
+----------------+
3 rows in set (0.00 sec)
mysql> select * from account;
+----+--------+---------+
| id | name | blance |
+----+--------+---------+
| 2 | 李四 | 321.00 |
| 3 | 王五 | 5432.00 |
| 4 | 赵六 | 543.90 |
| 5 | 赵六 | 543.90 |
+----+--------+---------+
4 rows in set (0.00 sec)
--没有删除权限
mysql> delete from account;
ERROR 1142 (42000): DELETE command denied to user 'whb'@'localhost' for table
'account'

特定用户现有查看权限:

mysql> show grants for 'whb'@'%';
+-----------------------------------------------+
| Grants for whb@% |
+-----------------------------------------------+
| GRANT USAGE ON *.* TO 'whb'@'%' |
| GRANT ALL PRIVILEGES ON `test`.* TO 'whb'@'%' |
+-----------------------------------------------+
2 rows in set (0.00 sec)
mysql> show grants for 'root'@'%';
+-------------------------------------------------------------+
| Grants for root@% |
+-------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION |
+-------------------------------------------------------------+
1 row in set (0.00 sec)

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

flush privileges;

回收权限:

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

示例:

-- 回收whb对test数据库的所有权限
--root身份,终端A
mysql> revoke all on test.* from 'whb'@'localhost';
Query OK, 0 rows affected (0.00 sec)
--whb身份,终端B
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| test |
+--------------------+
2 rows in set (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
+--------------------+
1 row in set (0.00 sec)

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

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

相关文章

河南开放大学与电大搜题微信公众号:携手共进,助力学习之路

作为河南省内颇具影响力和声誉的高等教育机构之一,河南开放大学一直致力于提供优质的教育资源和灵活的学习方式,以满足广大学习者的需求。而在这个追求知识的时代,学习者们尤其需要一个便捷、高效的工具来辅助学习。电大搜题微信公众号应运而…

持续集成交付CICD:安装Gitlab Runner(从节点)

目录 一、实验 1.选择Gitlab Runner版本 2.安装Gitlab Runner(第一种方式:交互式安装) 3.安装Gitlab Runner(第二种方式:非交互式安装) 二、问题 1.如何查看Gitlab版本 一、实验 1.选择Gitlab Runne…

Web APIs——BOM和延迟函数setTimeout

1、window对象 1.1 BOM(浏览器对象模型) BOM(Browser Object Model)是浏览器对象模型 window对象是一个全局对象,也可以说是JavaScript中的顶级对象像document、alert()、console.log()这些都是window的属性&#xf…

windows11使用docker部署安装minio

时间 2023-11-08 windows11使用docker部署安装minio 目录 1.docker 下载镜像2.docker安装镜像3.访问控制台4.安装问题解决5.使用教程 1.docker 下载镜像 调整镜像源到国内,否则会很慢 docker pull minio/minio2.docker安装镜像 设置用户名和密码时需要注意&…

【好书推荐】计算机考研精炼1000题——考研408不可或缺

《计算机考研精炼1000题》简介 本书根据最新《全国硕士研究生招生考试计算机学科专业基础考试大纲》编写。参考过去十多年的真题,本书精心编排了单项选择题和综合应用题,共约1000道(分为上下两册,共24章。上册(1&#…

Spring基础(1):两个概念

最近看了点Spring的源码,于是来稍微扯一扯,希望能帮一部分培训班出身的朋友撕开一道口子,透透气。 广义上的Spring指的是Spring整个项目,包含SpringBoot、SpringCloud、SpringFramework、SpringData等等, 本系列文章…

sql学习

因为之前sql学的太烂了,想整理一下 一.什么是 SQL? SQL 是用于访问和处理数据库的标准的计算机语言。 SQL 指结构化查询语言SQL 使我们有能力访问数据库SQL 是一种 标准计算机语言 二.SQL 能做什么? SQL 面向数据库执行查询SQL 可从数据库…

17. 机器学习 - 随机森林

Hi,你好。我是茶桁。 我们之前那一节课讲了决策树,说了决策树的优点,也说了其缺点。 决策树实现起来比较简单,解释解释性也比较强。但是它唯一的问题就是不能拟合比较复杂的关系。 后来人们为了解决这个问题,让其能…

华为荣耀软开秋招面经问题整理

一、八股 1.linux常用命令 Linux常用命令(面试题)_linux常用命令面试题-CSDN博客 常用命令、系统命令、打包命令、vim、开关机命令 2.socket通信调用api过程 TCP UDP 3.进程和线程的区别 进程是系统进行资源分配和调度的基本单元,线程…

初阶JavaEE(15)(Cookie 和 Session、理解会话机制 (Session)、实现用户登录网页、上传文件网页、常用的代码片段)

接上次博客:初阶JavaEE(14)表白墙程序-CSDN博客 Cookie 和 Session 你还记得我们之前提到的Cookie吗? Cookie是HTTP请求header中的一个属性,是一种用于在浏览器和服务器之间持久存储数据的机制,允许网站…

【Linux】初识进程地址空间

❤️前言 大家好!这里是好久没有营业的大懒虫lion,今天要和大家聊的内容是我最近新学习的关于进程地址空间的相关知识。 正文 当我们使用C/C语言进行内存管理时,经常会接触到这样的一张图片: 它常常被我们称作程序地址空间&#…

Netty 是如何利用EventLoop实现千万级并发的

经过前面几篇文章的介绍,我们掌握了 Netty 的 5 个核心组件,但是有了这 5 个核心组件 Netty 这个工厂还是无法很好的运转,因为缺少了一个最核心的组件:EventLoop,它 是 Netty 中最最核心的组件,也是 Netty …

使用C++的QT框架实现五子棋

最近有点无聊正好想玩五子棋,那就实现一下这个游戏吧,网上的五子棋逻辑又长又复杂,我这个逻辑还是蛮简单的,展示如下(检测函数在最后) 这是一个简单的五子棋,今天就了解一下这个游戏的思路&…

机器学习——回归

目录 一、线性回归 1、回归的概念(Regression、Prediction) 2、符号约定 3、算法流程 4、最小二乘法(LSM) 二、梯度下降 梯度下降的三种形式 1、批量梯度下降(Batch Gradient Descent,BGD)&#xff…

【2023.11.6】OpenAI发布会——近期chatgpt被攻击,不能使用

OpenAI发布会 写在最前面发布会内容GPT-4 Turbo 具有 128K 上下文函数调用更新改进了指令遵循和 JSON 模式可重现的输出和对数概率更新了 GPT-3.5 Turbo 助手 API、检索和代码解释器API 中的新模式GPT-4 Turbo 带视觉DALLE 3文字转语音 (TTS)收听语音样本…

[unity]切换天空盒

序 unity是自带天空盒的: 但有的时候不想用自带的。怎么自定义?如何设置? 官方文档 Unity - Manual: The Lighting window (unity3d.com) 相关窗口的打开方法 天空盒对应的选项 实际操作 从标准材质球到天空盒材质球 新建一个材质球&…

Powerpoint不小心被覆盖?PPT误删文件如何恢复?

PowerPoint不小心删除了,这可能是众多学生和工作人员最头痛的事情了。PPT被覆盖或误删可能意味着几个小时的努力付之东流。那么PPT覆盖的文档要如何救回来呢?小编将会在本篇文章中为大家分享几个解决方案,使PPT文档覆盖还原操作成为可能&…

为什么有的孩子玩着玩着就成了学霸?

毫不夸张地说,几乎所有的父母都想养出聪明宝宝,孩子上学之后能成为学霸就更省心了。 可“聪明”毕竟不能量化,不是说让孩子上几天课就能提升的。很多家长都在促进孩子大脑发育上使足了劲,可到头来却发现是在做“无用功”。 事实…

Linux-命令行命令

注:[]的内容说明是可选的 1.ls ls [-a -l -h] [Linux路径] >如果没有参数,就展示当前工作目录的内容 > -a:all的意思,即列出所有文件(包含隐藏文件/文件夹) > -l:以列表形式展示内容&…

3、Dockerfile 深入与其他细节

Dockerfile 在 Docker 中创建镜像最常用的方式,就是使用 Dockerfile。Dockerfile 是一个 Docker 镜像 的描述文件,我们可以理解成火箭发射的 A、B、C、D…的步骤。Dockerfile 其内部包含了一 条条的指令,每一条指令构建一层,因此每…