广告
返回顶部
首页 > 资讯 > 数据库 >MySQL数据库用户权限管理
  • 980
分享到

MySQL数据库用户权限管理

2024-04-02 19:04:59 980人浏览 独家记忆
摘要

目录1、用户管理1.1、创建用户1.2、删除用户1.3、修改用户密码2、权限管理2.1、授予权限 grant2.2、取消权限 revoke2.3、刷新权限 flush3、密码丢失的解

1、用户管理

mysql的用户信息保存在了mysql.user中:

select * from Mysql.user\G

*************************** 5. row ***************************
                    Host: localhost
                    User: root
             Select_priv: Y
             Insert_priv: Y
             Update_priv: Y
             Delete_priv: Y
             Create_priv: Y
               Drop_priv: Y
             Reload_priv: Y
           Shutdown_priv: Y
            Process_priv: Y
               File_priv: Y
              Grant_priv: Y
         References_priv: Y
              Index_priv: Y
              Alter_priv: Y
            Show_db_priv: Y
              Super_priv: Y
   Create_tmp_table_priv: Y
        Lock_tables_priv: Y
            Execute_priv: Y
         Repl_slave_priv: Y
        Repl_client_priv: Y
        Create_view_priv: Y
          Show_view_priv: Y
     Create_routine_priv: Y
      Alter_routine_priv: Y
        Create_user_priv: Y
              Event_priv: Y
            Trigger_priv: Y
  Create_tablespace_priv: Y
                ssl_type:
              ssl_cipher:
             x509_issuer:
            x509_subject:
           max_questions: 0
             max_updates: 0
         max_connections: 0
    max_user_connections: 0
                  plugin: mysql_native_passWord
   authentication_string: *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9
        password_expired: N
   password_last_changed: 2020-02-05 22:46:27
       password_lifetime: NULL
          account_locked: N
        Create_role_priv: Y
          Drop_role_priv: Y
  Password_reuse_history: NULL
     Password_reuse_time: NULL
Password_require_current: NULL
         User_attributes: NULL

主要字段:

主机名和用户名共同组成复合主键
Host 主机名,允许访问的客户端,*代表所有客户端都可以访问
User 用户名

1.1、创建用户

方式一:直接使用root用户在mysql.user中插入记录(不推荐)

方式二:使用创建用户的SQL指令

基本语法:

create user 用户 identified by 明文密码
-- 用户 用户名@主机地址
-- 主机地址: '' 或者 %

示例:

create user 'user1'@'%' identified by '123456';
-- 查看mysql.user表中是否存在新用户
select user, host from mysql.user where user = 'user1';
+-------+------+
| user  | host |
+-------+------+
| user1 | %    |
+-------+------+

简化版创建用户,谁都可以访问,不需要密码,不安全

create user user2;

1.2、删除用户

user和host具有唯一性

基本语法:

drop user 用户名@host;

示例:

mysql> drop user 'user1'@'%';
Query OK, 0 rows affected (0.01 sec)
mysql> select user, host from mysql.user where user = 'user1';
Empty set (0.00 sec)

1.3、修改用户密码

需要使用函数对密码进行加密password()

方式一:使用专门的修改密码指令

基本语法:

set password for 用户 = password(明文密码);
set password for 'user1'@'%' = password(654321);
-- mysql5.7后续版本,8.0可用
alter user 'user1'@'%' identified by '654321';

方式二:使用更新语法

基本语法:

update mysql.user set password = password(明文密码) where user = '' and host = '';
update mysql.user set password = password('123456') where user = 'user1' and host = '%';
-- 8.0报错
update mysql.user set authentication_string = password('123456') where user = 'user1' and host = '%';

2、权限管理

分为三类:

  • 数据权限:增删改查 select update delete insert
  • 结构权限:结构操作(表操作) create drop
  • 管理权限:权限管理 create user、grant、revoke, 管理员

2.1、授予权限 grant

将权限分配给指定用户

基本语法:

grant 权限列表 on 数据库/*.表名/* to 用户
  • 权限列表 使用逗号间隔,all privileges 代表全部权限
  • 所有数据库 *.*
  • 某个数据库:数据库.*
  • 单表:数据库.表名
-- 分配权限 不需要刷新,马上生效
grant select on mydatabase.my_student to 'user1'@'%';

2.2、取消权限 revoke

基本语法:

revoke 权限列表 /all privileges on 数据库/*.表/* from 用户
-- 回收权限,不需要刷新,马上生效
revoke all privileges on mydatabase.my_student from 'user1'@'%';

2.3、刷新权限 flush

将操作的具体内容同步到对应的表中

基本语法:

flush privileges;

3、密码丢失的解决方案

如果忘记root用户的密码

# 停止服务
mysql.server stop;

# 停止不了可以直接杀死进程
ps aux|grep mysql
kill <pid>

# 重新启动服务,跳过权限
mysqld --skip-grant-tables

# 直接无用户名登录
mysql

非常危险,任何客户端不需要任何用户信息都可以直接登录,而且是root权限

修改root密码:

alter user 'root'@'localhost' identified by '123456'; 

修改完后,关闭mysql服务器,重启

到此这篇关于MySQL数据库用户权限管理的文章就介绍到这了,更多相关MySQL 权限管理内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL数据库用户权限管理

本文链接: https://www.lsjlt.com/news/150955.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL数据库用户权限管理
    目录1、用户管理1.1、创建用户1.2、删除用户1.3、修改用户密码2、权限管理2.1、授予权限 grant2.2、取消权限 revoke2.3、刷新权限 flush3、密码丢失的解...
    99+
    2022-11-13
  • 数据库 之 MySQL用户和权限管理
    1  概述MySQL用户和权限管理 遵循最小权限授权法则,保证系统的安全性本文主要讲解关于用户MySQL用户和权限管理的相关概念和操作3  MySQL权限类别库级别:对某些库拥有对应的权...
    99+
    2022-10-18
  • MySQL数据库用户权限如何管理
    这篇文章主要介绍“MySQL数据库用户权限如何管理”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MySQL数据库用户权限如何管理”文章能帮助大家解决问题。1、用户管理mysql的用户信息保存在了my...
    99+
    2023-07-02
  • MySQL数据库的权限管理
    Mysql权限系统非常重要,但同时又是一个很多开发者或管理者所忽略的。权限分配不但,将会造成难以挽回的悲惨后果。我之前所在一家公司,关于数据库权限这块就完全不重视,所有开发者都有线上系统的最高权限。想想看,...
    99+
    2022-10-18
  • MySQL用户和数据权限管理详解
    目录1、管理用户1.1、添加用户1.2、删除用户1.3、修改用户名1.4、修改密码2、授予权限和回收权限2.1、授予权限2.2、权限的转移和限制2.3、回收权限1、管理用户 1.1、添加用户 可以使用CREATE USE...
    99+
    2022-08-25
  • MySQL数据库用户授权管理
    一、用户授权1、注意事项:-  MySQL数据库服务器搭建好之后,放在独立的房间里或者是IDC机房,MySQL数据库服务默认只允许数据库管理员root在本地登录,要在其他客户端登录管理数据库则需要...
    99+
    2022-10-18
  • MYSQL用户权限管理
    1.在MySQL中,用户是怎么定义的 #mysql中,定义一个用户是: 用户名@‘主机域‘ #用户名写法: 用户名如果是字符: mysql> create user [email protected]‘10.0.0.1‘; 用户...
    99+
    2015-02-26
    MYSQL用户权限管理 数据库入门 数据库基础教程
  • MYSQL数据库管理之权限管理解读
    目录一、mysql权限简介1.MYSQL到底都有哪些权限呢?2.MYSQL的权限如何分布二、MYSQL权限经验原则三、MYSQL权限实战1.GRANT命令使用说明2.创建一个超级用户3.创建一个网站用户(程序用户)4.创...
    99+
    2023-03-20
    MYSQL数据库管理 MYSQL权限管理 MYSQL权限
  • MySQL 用户和权限管理
    Mysql修改密码的方式如果忘记密码--skip-grant-tables 1、alter user alter user test@'localhost&#...
    99+
    2022-10-18
  • MySQL如何授权用户管理数据库
    这篇文章将为大家详细讲解有关MySQL如何授权用户管理数据库,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、grant 普通 DBA 管理某个 MySQL 数据库的权限...
    99+
    2022-10-18
  • MySQL学习——管理用户权限
    MySQL学习——管理用户权限 摘要:本文主要学习了使用DCL语句管理用户权限的方法。 了解用户权限 什么是用户 用户,指的就是操作和使用MySQL数据库的人。使用MySQL数据库需要用户先通过用户名和密码进行连接,然后才能进行操作,不同的...
    99+
    2020-09-09
    MySQL学习——管理用户权限
  • 详解MySQL 用户权限管理
    前言:  不清楚各位同学对数据库用户权限管理是否了解,作为一名 DBA ,用户权限管理是绕不开的一项工作内容。特别是生产库,数据库用户权限更应该规范管理。本篇文章将会介绍下 MySQL 用户权限管理相关内容...
    99+
    2022-05-30
    MySQL 权限管理 MySQL 用户权限
  • Mysql 用户权限管理实现
    1. MySQL 权限介绍 mysql中存在4个控制权限的表,分别为user表,db表,tables_priv表,columns_priv表,我当前的版本mysql 5.7.22 。 mysql权限表的验证过程为: ...
    99+
    2022-05-25
    Mysql 用户权限管理
  • MYSQL数据库管理中怎么实现权限管理
    本篇文章为大家展示了MYSQL数据库管理中怎么实现权限管理,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 MYSQL权限简介关于mysql的权限简单的理解就是m...
    99+
    2022-10-18
  • MYSQL数据库管理之权限管理怎么配置
    这篇“MYSQL数据库管理之权限管理怎么配置”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“...
    99+
    2023-03-20
    mysql
  • MySQL创建用户和权限管理
    转自:https://www.cnblogs.com/zhaohaiyu/p/11459613.html 一、如何创建用户和密码 1.进入到mysql数据库下 mysql> use mysql Database changed ...
    99+
    2020-05-26
    MySQL创建用户和权限管理
  • mysql 用户及权限管理 小结
    转载自https://www.cnblogs.com/SQL888/p/5748824.html MySQL 默认有个root用户,但是这个用户权限太大,一般只在管...
    99+
    2022-10-18
  • MySQL用户与权限管理介绍
    这篇文章主要介绍“MySQL用户与权限管理介绍”,在日常操作中,相信很多人在MySQL用户与权限管理介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL用户与权限管理...
    99+
    2022-10-18
  • Navicat配置mysql数据库用户权限问题
    目录1.创建用户2.给新建的用户分配权限例如1例如2mysql权限总结用数据库的时候就会遇到有多个用户,分配用户权限的情况,有些用户只读,有些用户可以读写,有些用户只能操作一个或者多个数据库,如何给mysql的用户设置权...
    99+
    2023-03-20
    Navicat配置mysql数据库 mysql数据库用户权限 mysql用户权限
  • MySQL 中有哪些用户权限管理
    MySQL 中有哪些用户权限管理?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。容。  1.用户权限简介当我们创建过数据库用户后,还不能执行任何操作,需要...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作