【MYSQL基础】MYSQL用户管理

news2024/11/25 8:22:39

MYSQL用户管理

数据库的root用户拥有操作数据库的所有权限,如果要团队协作开发,为了避免有成员误操作,可以给成员创建一个权限较低的用户账号

创建用户

create user 用户名 identified by ‘密码’;

mysql> create user dam identified by '12345678';
Query OK, 0 rows affected (0.01 sec)

还可以一次性创建多个用户

mysql> create user dam1 identified by '12345678',dam2 identified by '12345678',dam3 identified by '12345678';
Query OK, 0 rows affected (0.01 sec)

默认创建的用户的主机地址是%,也可以指定主机地址来创建用户

mysql> create user 'dam'@'127.0.0.1' identified by '12345678';
Query OK, 0 rows affected (0.01 sec)

查看所有用户

在这里插入图片描述

使用命令行来查询

mysql> use mysql;
Database changed

-- 如果所有字段一起查询的话,数据量非常大,显示效果不好
mysql> select Host,User from user;
+-----------+------------------+
| Host      | User             |
+-----------+------------------+
| %         | dam              |
| %         | dam1             |
| %         | dam2             |
| %         | dam3             |
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
| localhost | root             |
+-----------+------------------+
8 rows in set (0.00 sec)

删除用户

drop user 用户名;(默认删除host为%的用户)

drop user ‘用户名’@'host ';(指定host来删除用户)

mysql> drop user 'dam'@'127.0.0.1';
Query OK, 0 rows affected (0.01 sec)

修改用户密码

修改当前用户密码

ALTER USER USER() IDENTIFIED BY ‘新密码’;

PS C:\Users\17526> mysql -u dam -p12345678
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 908
Server version: 8.0.27 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

-- 修改密码
mysql> ALTER USER USER() IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.01 sec)

mysql> exit;
Bye
PS C:\Users\17526> mysql -u dam -p12345678
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'dam'@'localhost' (using password: YES)
PS C:\Users\17526> mysql -u dam -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 910
Server version: 8.0.27 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

修改指定用户的密码

root用户不仅可以修改自己的密码,还可以修改其他普通用户的密码

alter user 用户名 identified by 新密码;

mysql> alter user dam identified by '123456789';
Query OK, 0 rows affected (0.01 sec)

修改指定用户的用户名

rename user 修改前用户名 to 修改后用户名;

mysql> rename user dam to dam1;
Query OK, 0 rows affected (0.01 sec)

查看用户的权限

查看当前登录用户的权限

show grants;

查询其他用户的权限

show grants for ‘用户名’@‘主机地址’;

mysql> show grants for dam;
+---------------------------------+
| Grants for dam@%                |
+---------------------------------+
| GRANT USAGE ON *.* TO `dam`@`%` |
+---------------------------------+
1 row in set (0.00 sec)

给用户赋予权限

权限分类

mysql> show privileges;
+-----------------------------+---------------------------------------+-------------------------------------------------------+
| Privilege                   | Context                               | Comment                                               |
+-----------------------------+---------------------------------------+-------------------------------------------------------+
| Alter                       | Tables                                | To alter the table                                    |
| Alter routine               | Functions,Procedures                  | To alter or drop stored functions/procedures          |
| Create                      | Databases,Tables,Indexes              | To create new databases and tables                    |
| Create routine              | Databases                             | To use CREATE FUNCTION/PROCEDURE                      |
| Create role                 | Server Admin                          | To create new roles                                   |
| Create temporary tables     | Databases                             | To use CREATE TEMPORARY TABLE                         |
| Create view                 | Tables                                | To create new views                                   |
| Create user                 | Server Admin                          | To create new users                                   |
| Delete                      | Tables                                | To delete existing rows                               |
| Drop                        | Databases,Tables                      | To drop databases, tables, and views                  |
| Drop role                   | Server Admin                          | To drop roles                                         |
| Event                       | Server Admin                          | To create, alter, drop and execute events             |
| Execute                     | Functions,Procedures                  | To execute stored routines                            |
| File                        | File access on server                 | To read and write files on the server                 |
| Grant option                | Databases,Tables,Functions,Procedures | To give to other users those privileges you possess   |
| Index                       | Tables                                | To create or drop indexes                             |
| Insert                      | Tables                                | To insert data into tables                            |
| Lock tables                 | Databases                             | To use LOCK TABLES (together with SELECT privilege)   |
| Process                     | Server Admin                          | To view the plain text of currently executing queries |
| Proxy                       | Server Admin                          | To make proxy user possible                           |
| References                  | Databases,Tables                      | To have references on tables                          |
| Reload                      | Server Admin                          | To reload or refresh tables, logs and privileges      |
| Replication client          | Server Admin                          | To ask where the slave or master servers are          |
| Replication slave           | Server Admin                          | To read binary log events from the master             |
| Select                      | Tables                                | To retrieve rows from table                           |
| Show databases              | Server Admin                          | To see all databases with SHOW DATABASES              |
| Show view                   | Tables                                | To see views with SHOW CREATE VIEW                    |
| Shutdown                    | Server Admin                          | To shut down the server                               |
| Super                       | Server Admin                          | To use KILL thread, SET GLOBAL, CHANGE MASTER, etc.   |
| Trigger                     | Tables                                | To use triggers                                       |
| Create tablespace           | Server Admin                          | To create/alter/drop tablespaces                      |
| Update                      | Tables                                | To update existing rows                               |
| Usage                       | Server Admin                          | No privileges - allow connect only                    |
| ENCRYPTION_KEY_ADMIN        | Server Admin                          |                                                       |
| INNODB_REDO_LOG_ARCHIVE     | Server Admin                          |                                                       |
| GROUP_REPLICATION_STREAM    | Server Admin                          |                                                       |
| CLONE_ADMIN                 | Server Admin                          |                                                       |
| SYSTEM_USER                 | Server Admin                          |                                                       |
| SHOW_ROUTINE                | Server Admin                          |                                                       |
| BACKUP_ADMIN                | Server Admin                          |                                                       |
| RESOURCE_GROUP_ADMIN        | Server Admin                          |                                                       |
| SESSION_VARIABLES_ADMIN     | Server Admin                          |                                                       |
| PERSIST_RO_VARIABLES_ADMIN  | Server Admin                          |                                                       |
| CONNECTION_ADMIN            | Server Admin                          |                                                       |
| SYSTEM_VARIABLES_ADMIN      | Server Admin                          |                                                       |
| APPLICATION_PASSWORD_ADMIN  | Server Admin                          |                                                       |
| FLUSH_OPTIMIZER_COSTS       | Server Admin                          |                                                       |
| AUDIT_ADMIN                 | Server Admin                          |                                                       |
| AUTHENTICATION_POLICY_ADMIN | Server Admin                          |                                                       |
| BINLOG_ADMIN                | Server Admin                          |                                                       |
| BINLOG_ENCRYPTION_ADMIN     | Server Admin                          |                                                       |
| FLUSH_STATUS                | Server Admin                          |                                                       |
| FLUSH_TABLES                | Server Admin                          |                                                       |
| FLUSH_USER_RESOURCES        | Server Admin                          |                                                       |
| SET_USER_ID                 | Server Admin                          |                                                       |
| SERVICE_CONNECTION_ADMIN    | Server Admin                          |                                                       |
| GROUP_REPLICATION_ADMIN     | Server Admin                          |                                                       |
| REPLICATION_APPLIER         | Server Admin                          |                                                       |
| INNODB_REDO_LOG_ENABLE      | Server Admin                          |                                                       |
| XA_RECOVER_ADMIN            | Server Admin                          |                                                       |
| PASSWORDLESS_USER_ADMIN     | Server Admin                          |                                                       |
| TABLE_ENCRYPTION_ADMIN      | Server Admin                          |                                                       |
| ROLE_ADMIN                  | Server Admin                          |                                                       |
| REPLICATION_SLAVE_ADMIN     | Server Admin                          |                                                       |
| RESOURCE_GROUP_USER         | Server Admin                          |                                                       |
+-----------------------------+---------------------------------------+-------------------------------------------------------+
65 rows in set (0.00 sec)
  • Index:创建或者删除索引
  • CreateDrop:创建或者删除库、表
  • Alter:修改表的结构/重命名表
  • SelectInsertUpdateDelete:对表进行增删改查
  • Grant option:赋予用户给其他用户授权的权利

赋予部分权限

【命令行方式】

GRANT 权限1,权限2,…权限n ON 数据库名称.表名称 TO '用户名'@'用户主机地址' [IDENTIFIED BY '密码'];

使用上面的命令,如果用户不存在,将会创建相应用户

-- 赋予用户 dam 数据库 pratice 的所有表的 增删改查 权限
mysql> GRANT SELECT,INSERT,DELETE,UPDATE ON pratice.* TO dam;
Query OK, 0 rows affected (0.01 sec)

【使用MYSQL工具Navicat】

使用工具可以更加方便直观的管理权限

在这里插入图片描述

在这里插入图片描述

收回部分权限

REVOKE 权限1,权限2,…权限n ON 数据库名称.表名称 FROM '角色名称'@'域名';

赋予全部权限

grant all privileges on . to 用户名;

mysql> grant all privileges on *.* to dam;
  • .:所有数据库的所有表

授予所有权限之后,可以查出来很多权限

mysql> show grants for dam;
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for dam@%                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.* TO `dam`@`%`                                                                                                                                                                                                                                                                                                 |
| GRANT APPLICATION_PASSWORD_ADMIN,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FLUSH_OPTIMIZER_COSTS,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_USER_ID,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,XA_RECOVER_ADMIN ON *.* TO `dam`@`%` |
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

收回用户的所有权限

revoke all privileges on . from 用户名;

mysql> revoke all privileges on *.* from dam;
Query OK, 0 rows affected (0.01 sec)

mysql> show grants for dam;
+---------------------------------+
| Grants for dam@%                |
+---------------------------------+
| GRANT USAGE ON *.* TO `dam`@`%` |
+---------------------------------+
1 row in set (0.00 sec)

用户管理tips

  • 创建用户的时候限制Host,设置复杂一点的密码
  • 给用户授权的时候,权限够用就行,不要多给
  • 定期清理没有用的用户或者回收权限

MYSQL角色管理

在开发中,可能多个开发者的权限是一致的,如果为每个开发者的账号都赋予一遍权限,会浪费很多没有必要的工作量,解决方式是:先将权限绑定到角色中,然后将用户账号与角色绑定,这样用户就被赋予了角色的权限,同时用户还可以有自己额外的权限

创建角色

-- 创建角色 门店管理员 ,限制只能在数据库服务器使用这个角色
mysql> create role 'storeManager'@'localhost';
Query OK, 0 rows affected (0.01 sec)

-- 直接创建角色,默认域名是 % ,什么主机都可以使用这个角色
mysql> create role enterpriseManager;
Query OK, 0 rows affected (0.01 sec)

-- 同时创建多个角色
mysql> create role staff,systemManager;
Query OK, 0 rows affected (0.01 sec)

删除角色

drop role '角色名称'@'域名';

给角色赋予权限

赋予部分权限

grant 权限1,权限2,…权限n on 数据库名称.表名 to '角色名称'@'域名';

赋予所有权限

grant all privileges on *.* to '角色名称'@'域名';

查看角色所拥有的权限

show grants for '角色名称'@'域名';
mysql> show grants for staff;
+-----------------------------------+
| Grants for staff@%                |
+-----------------------------------+
| GRANT USAGE ON *.* TO `staff`@`%` |
+-----------------------------------+
1 row in set (0.00 sec)

角色一旦被创建,系统会自动赋予一个UEAGE权限,该权限用于连接登录数据库。

回收部分权限

revoke 权限1,权限2,…权限n on 数据库名称.表名 from '角色名称'@'域名';

回收所有权限

revoke all privileges on *.* from '角色名称'@'域名';

激活角色功能

mysql> show variables like 'activate_all_roles_on_login';
+-----------------------------+-------+
| Variable_name               | Value |
+-----------------------------+-------+
| activate_all_roles_on_login | OFF   |
+-----------------------------+-------+
1 row in set, 1 warning (0.00 sec)

-- 激活角色功能
mysql> SET GLOBAL activate_all_roles_on_login=ON;
Query OK, 0 rows affected (0.00 sec)

给用户赋予角色

grant role1,role2,…,rolen to '角色名称'@'域名';

查询当前用户拥有的角色

mysql> select current_role();
+----------------+
| current_role() |
+----------------+
| NONE           |
+----------------+
1 row in set (0.00 sec)

撤销用户所绑定的角色

revoke '角色名称'@'域名' FROM '用户名'@'域名';

MYSQL数据备份

使用软件备份

在这里插入图片描述

将数据库的数据和结构导出成sql,后面只需要导入sql即可恢复数据库

使用命令

使用navicat导出较大数据库的数据,可能会出现bug,我有遇到过,但是使用命令导出没有问题

mysqldump -h 主机地址 -u 用户名 -p 密码 数据库 [表1 表2 表3] > 磁盘位置/文件名.sql;

注:[表1 表2 表3] 不写,就导出整个数据库
-- 导出整个数据库
PS C:\Users\17526> mysqldump -hlocalhost -uroot -p12345678 practice >D:/Desktop/pratice.sql;
mysqldump: [Warning] Using a password on the command line interface can be insecure.

-- 导出数据库的指定表
PS C:\Users\17526> mysqldump -hlocalhost -uroot -p12345678 practice user major >D:/Desktop/pratice.sql;
mysqldump: [Warning] Using a password on the command line interface can be insecure.

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

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

相关文章

数据劫持大揭秘:Vue的隐形力量和无限可能

文章目录 1. 初始化阶段2. 响应式侦测器3. 数据劫持4. 模板编译5.总结 Vue.js 通过数据劫持实现了数据的双向绑定。它使用了一个名为 “响应式系统” 的机制来追踪和响应数据的变化,从而自动更新相关的视图。 Vue 的数据劫持原理主要分为以下几个步骤: …

main函数和其他函数

##什么是main函数函数就很敏感,在我认为的函数函数就是功能 有系统给的也有自己写的 函数就是一个封装好的功能 function 函数,功能。main函数 ![在这里插入图片描述](https://img-blog.csdnimg.cn/9a92f39cf6a842f5a56dbc1689012ceb.png 函数的参数&am…

高压放大器工作原理以及参数介绍

高压放大器是一种电子器件,其主要作用是将输入信号的电压放大到输出端。由于高压放大器的输入和输出端的电平差很大,因此需要使用特殊的材料和技术来保证电路的可靠性和稳定性。下面我们就来详细介绍一下高压放大器的工作原理和参数介绍。 图&#xff1a…

推荐4款好用的在线作图软件,可一键安装

本文将介绍4个功能强大又可以免费使用的在线作图软件,可以帮助设计师更快地完成绘图工作,一起来看看吧! 1.即时设计 即时设计是一款功能强大的在线作图软件,它提供了丰富的绘图工具、层管理和样式库,让设计师可以轻松…

集群 第二章

目录 1.DR 模式 LVS 负载均衡群集部署 2.总结 1.DR 模式 LVS 负载均衡群集部署 DR 服务器: 192.168.83.104 NFS服务器: 192.168.83.103 Web 服务器1: 192.168.83.102 Web 服务器2: 192.168.83.101 …

(八)解析函数的无穷可微性与 Cauchy 型积分定理

本文主要内容包括: 1. 解析函数的无穷可微性1.1. 解析函数的高阶导数1.2. 导数估计式 —— Cauchy 不等式1.3. Liouville 定理1.4. 代数基本定理的一种证明 2. Cauchy 型积分定理2.1. Cauchy 型积分2.2. Cauchy 型积分定理 1. 解析函数的无穷可微性 1.1. 解析函数的…

状态检测防火墙

状态检测防火墙原理 对于已经存在会话表的报文的检测过程比没有会话表的报文要短很多。通过对一条连接的首包进行检测并建立会话后,该条连接的绝大部分报文都不再需要重新检测。这就是状态检测防火墙的“状态检测机制”,相对于包过滤防火墙的“逐包检测机制”的改进之处。这种…

黑马点评(达人探店)

达人探店 一、发布探店笔记 发布探店笔记功能是项目本身就完成了的功能,他会把图片存在本地,有兴趣可以去看源码,在UploadCOntroller类下 二、查看探店笔记 这个功能项目本身是没有完成这个接口的,所以需要我们自己去完成。 …

点击echart图即可获取对应代码的网址

PPChart - 让图表更简单 点击第一个数据中心即可获取对应的代码

在XAMPP环境中搭建wordpress网站教程

1、在xampp的安装目录中找到htdocs文件夹,在此文件夹中建立新文件夹,作本地网站要目录,如,wp-jianzhanpress。 2、将解压后的wordpress程序,放到该目录下。 3、启动XAMPP程序,点击“admin”。进入数据库管理…

Centos 7 下安装Redis

官网地址(英文):Redis 官网地址(中文):CRUG网站 or redis中文文档 Redis源码地址:GitHub - redis/redis: Redis is an in-memory database that persists on disk. The data model is key-v…

媲美postman?这款国产测试工具你知道吗

没有测试数据的用例就像一盘散沙,跑两步就跑不动了 没有测试数据,所谓的功能测试和性能测试全都是无米之炊。但我发现一个蛮诡异的事情,就是行业内很少会有人去强调测试数据的重要性,甚至市面上都没有人在做测试数据这门生意。 …

JMeter笔记(二)

个人学习笔记(整理不易,有帮助点个赞) 笔记目录:学习笔记目录_pytest和unittest、airtest_weixin_42717928的博客-CSDN博客 目录 一:了解常用组件 二:创建测试计划 1)先新建一个测试计划 2&…

了解三维展厅模型从这里开始

引言: 随着科技的不断进步,展览方式也在不断演变。在这个数字化时代,三维展厅模型正成为展览领域的新宠。三维展厅模型通过结合计算机图形技术和虚拟现实技术,为观众带来身临其境的展览体验。 一.三维展厅模型的定义与…

ARM day7 (串口协议)

实验一 键盘输入一个字符a,串口工具显示b uart4.h #ifndef __UART4_H__ #define __UART4_H__#include "stm32mp1xx_gpio.h" #include "stm32mp1xx_rcc.h" #include "stm32mp1xx_uart.h"//初始化UART4 void hal_uart4_init();//发送一个字符 v…

MBD开发 STM32 CAN

Matlab/Simulink之STM32开发-CAN接收 - 知乎 Matlab/Simulink之STM32开发-CAN发送 - 知乎 目录 can发送 can接收 can发送 一直报这个错误,不用管 手动指定信号 can接收 CAN通讯中断选择:USB low priority or CAN RX0 interrupts CAN报文的接收模型主…

Mysql-事务及索引

事务 概述 用来统一sql语句的操作 防止删了这种情况的发生 删了部门,但是删员工的出错了没删成 事务中的语句要么全部都运行成功,要么全部都不运行成功 且可以撤销事务的操作:叫事务回滚 介绍 正常不开启事务 就每一条语句都是一个事务 …

安装jupyter notebook及插件

pip命令 pip install jupyter notebook 安装插件的pip pip install jupyter_nbextensions_configurator pip install jupyter_contrib_nbextensions jupyter nbextensions_configurator enable --user jupyter contrib nbextension install --user 输入jupyter notebook &…

vue 递归

目录 1. 树结构递归效果图 2. 代码: 1. 树结构递归效果图 ps :递归说白了就是自己掉自己。 2. 代码: //1. 调查询表格的接口_this.$API.departmentGetTreeList().then((res) > {if (res.data.code 200) {this.loading false;let temp…

long类型值与bytes数组互转

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…