精华内容
下载资源
问答
  • 数据库用户权限管理与测试

    千次阅读 2017-08-26 16:24:49
    数据库用户权限管理与测试 实验目的与要求 掌握数据库中的权限管理思想,并会创建用户权限管理中的各种对象。 实验环境 VPC1(虚拟PC) Windows XP 系统 VPC1 连接要求 ...

    课程编写

    类别

    内容

    实验课题名称

    数据库用户权限管理与测试

    实验目的与要求

    掌握数据库中的权限管理思想,并会创建用户权限管理中的各种对象。

    实验环境

    VPC1(虚拟PC)

    Windows XP 系统

    VPC1 连接要求

    与实验网络直连

    软件描述

    数据库管理系统(DBMS) :MySQL 5.5

    实验环境描述

    1、学生机与实验室网络直连;
    2、VPC1与实验室网络直连;
    3、学生机与VPC1物理链路连通;

    预备知识

    实验内容

    创建用户权限管理中的用户和用户权限,并测试。

    实验步骤

    打开实验平台,进入Windows XP系统。

     

    (1)打开命令行提示符,从localhost,用root用户名登陆MySQL5.5,输入密码:123456。

     

    (2)创建数据库student_course,并在该数据库中建立student表:

    创建数据库student_course:

     

    创建表students:

     

    在表中插入两条记录:

     

    打印表中的内容:

     

     

    (3)创建数据库dbrole,删除dbrole。

    创建数据库dbrole:

     

    查看所有存在的数据库:

     

    删除数据库dbrole:

     

    查看数据库是否被删除:

     

     

    (4)创建数据库用户user1,并赋予user1以SELECT 表students的权限。

    创建用户user1,登陆位置是‘localhost’,密码是‘password’:

     

    查看系统中所有用户,发现user1已被创建:

     

    赋予user1以SELECT 表students的权限:

     

    退出root:

     

    登陆user1:

     

    User1使用select查看表中的内容:

     

     

    (5)将创建表create的权限授予用户 user1,并允许他传播该权限。

    在user1下 尝试建表,失败:

     

    退出user1,进入root:

     

    将创建表create的权限授予用户 user1,并允许他传播该权限:

     

    查看user1的权限,发现现在已经有建表create的权限:

       

    退出root, 进入user1:

     

    使用user1尝试建表,会发现建表成功:

     

     

    (6)收回 user1 创建表的权限。

    进入root账户:

     

    收回 user1 创建表的权限:

     

    查看并测试user1建表的权限是否被收回:

     

    User1用户尝试建表,结果失败:

     

     

    证明user1的建表权限已经被收回。

     

    展开全文
  • 数据库用户权限管理(一)

    千次阅读 2018-01-31 17:33:21
    一个用户权限可以分为两大类 一类是创建用户的时候指定的: 登录(login)[需要注意,user自带login权限,role不带] 创建用户、角色(createuser/role) 权限继承(inherit) 创建数据库(createdb) 超级用户...
    作者:瀚高PG实验室 (Highgo PG Lab)-海无涯
     
    一个用户的权限可以分为两大类
    一类是创建用户的时候指定的:
    登录(login)[需要注意,user自带login权限,role不带]
    创建用户、角色(createuser/role)
    权限继承(inherit)
    创建数据库(createdb)
    超级用户(superuser)
    等等

    举例:

    highgo=# create role trole with createrole inherit;
    CREATE ROLE
    highgo=# \c highgo trole;
    ????:  28000: ?????"trole" ????
    Previous connection kept
    highgo=# alter user trole with login;
    ALTER ROLE
    highgo=# \c highgo trole;
    
    PSQL: Release 4.1.1
    Connected to:
    HighGo Database V4.1 Enterprise Edition Release 4.1.1 - 64-bit Production
    
    You are now connected to database "highgo" as user "trole".
    highgo=> 

    另一类是通过grant和revoke来管理的:
    数据库中创建临时表、模式、普通表、函数等
    对数据库中数据的增删改查等
    对序列的查询、使用、更新等
    将一个用户的权限赋予给另一个用户
    ......

    将数据库逻辑结构对象的操作权限赋予给某个用户/角色,格式如下:

    GRANT privileges ON  database_obj  TO user_name;
    
    举例:
    grant  select,insert on table test to test;
    
    highgo=> \c highgo test
    
    PSQL: Release 4.1.1
    Connected to:
    HighGo Database V4.1 Enterprise Edition Release 4.1.1 - 64-bit Production
    
    You are now connected to database "highgo" as user "test".
    highgo=> select * from test limit 6;
    错误:  42501: 对关系 test 权限不够
    highgo=> \c highgo highgo
    
    PSQL: Release 4.1.1
    Connected to:
    HighGo Database V4.1 Enterprise Edition Release 4.1.1 - 64-bit Production
    
    You are now connected to database "highgo" as user "highgo".
    highgo=# grant  select,insert on table test to test;
    GRANT
    highgo=# \c highgo test;
    
    PSQL: Release 4.1.1
    Connected to:
    HighGo Database V4.1 Enterprise Edition Release 4.1.1 - 64-bit Production
    
    You are now connected to database "highgo" as user "test".
    highgo=> select * from test limit 6;
     id | name  | profession 
    ----+-------+------------
      1 | TOM   | accounting
      1 | JERRY | accounting
      2 | JERRY | accounting
      2 | JUGG  | Business
     10 | 瀚高  | 基础软件
     11 | 瀚高  | 基础软件
    (6 rows)
    

     

     

    展开全文
  • mysql数据库用户用户权限管理

    万次阅读 多人点赞 2018-10-09 21:37:06
    (1)mysql数据库用户权限级别  1)全局性管理权限:作用于整个mysql实例级别  2)数据库级别:作用于指定的某个数据库上或者所有数据库上  3)数据库对象级别权限:作用于指定的数据库对象上(表或者视图) ...

    1、mysql数据库的权限

    (1)mysql数据库用户权限级别

             1)全局性管理权限:作用于整个mysql实例级别

             2)数据库级别:作用于指定的某个数据库上或者所有数据库上

             3)数据库对象级别权限:作用于指定的数据库对象上(表或者视图)

    (2)mysql数据库用户权限

    权限名称

    权限说明

    All/All Privileges

    全局或者全数据库对象级别的所有权限

    Alter

    修改表结构的权限,但必须要求有create和insert权限配合

    Alter routine

    修改或者删除存储过程、函数的权限

    Create

    创建新的数据库和表的权限

    Create routine

    允许创建存储过程、函数的权限

    Create tablespace

    允许创建、修改、删除表空间和日志组的权限

    Create temporary tables

    创建临时表权限

    Create user

    创建、修改、删除、重命名user

    Create view

    创建视图

    Delete

    删除行数据

    drop

    删除数据库、表、视图的权限,包括truncate table命令

    Event

    查询,创建,修改,删除MySQL事件

    Execute

    执行存储过程和函数

    File

    在MySQL可以访问的目录进行读写磁盘文件操作,可使用的命令包括load data infile,select ,into outfile,load file()函数等

    Grant option

    授权或者收回给其他用户你给予的权限

    Index

    创建和删除索引

    Insert

    在表里插入数据

    Lock

    对拥有select权限的表进行锁定,以防止其他链接对此表的读或写

    Process

    允许查看MySQL中的进程信息,比如执行show processlist, mysqladmin processlist, show engine等命令

    Reference

    允许创建外键

    Reload

    执行flush命令,指明重新加载权限表到系统内存中

    Replication client

    执行show master status,show slave status,show binary logs命令

    Replication slave

    允许slave主机通过此用户连接master以便建立主从复制关系

    Select

    从表中查看数据

    Show databases

    通过执行show databases命令查看所有的数据库名

    Show view

    通过执行show create view命令查看视图创建的语句

    Shutdown

    关闭数据库实例,执行语句包括mysqladmin shutdown

    Super

    允许执行一系列数据库管理命令,包括kill强制关闭某个连接命令,change master to创建复制关系命令,以及create/alter/drop server等命令

    Trigger

    允许创建,删除,执行,显示触发器的权限

    Update

    修改表中数据的权限

    Usage

    创建一个用户之后的默认权限,本身代表无权限

    (3)存放用户权限表的说明

           Mysql数据库用户权限存储在mysql库的user, db, tables_priv, columns_priv, procs_priv这几个系统表中, MySQL实例启动后就加载到内存中

    存放权限的表

    表的作用

    user

    存放用户账户信息以及全局级别(所有数据库)权限,(存放了那些用户可以访问那些数据库的权限)

    db

    数据库级别权限,决定了来自哪些主机的哪些用户可以访问此数据库

    tables_priv

    存放表级别的权限,决定了来自哪些主机的哪些用户可以访问数据库的那张表

    columns_priv

    存放列级别的权限,决定了来自哪些主机的哪些用户可以访问数据库表的字段

    procs_priv

    存放存储过程和函数级别的权限

       Mysql数据库权限管理中,字段user,password,authencation_string,db,table_name大小写敏感,而字段host,column_name,routine_name对大小写不敏感。

    2、用户权限管理

    (1)创建用户及授权

             Mysql用户创建可以通过create user/grant命令创建,也可以通过insert语句直接操作MySQL系统权限表来创建。

    创建及给用户授权命令:

             创建用户:CREATE USER username@'host' IDENTIFIED BY 'password'

             用户授权:GRANT permission ON database.tables TO username@’host’

             创建用户并授权:GRANT permission ON database.tables TO username@'hostt'  WITH GRANT OPTION;

         MYSQL创建用户及给用户授权的用户名主机部分由两部分组成,分别为用户名和登录主机名,格式为’username’@’hostname’;hostname字段可以使用主机名或者ip地址,同时hostname字段允许使用”%”和”_”两种字符进行匹配。

    # 创建用户dayi123并授予本地登录所有库所有权限
    mysql> create user 'dayi123'@'localhost' identified by 'dayi123';
    mysql> grant all privileges on *.* to 'dayi123'@'localhost' with grant option;
    # 创建用户用户dayi通过192.168.0.0段ip地址登录的增删该查跟新库web的权限
    mysql> grant select,insert,update,delete,create,drop on web.* to 'dayi'@'192.168.%.%' identified by 'dayi123';
    # 给root用户授权可以通过192.168.0.0段地址登录
    mysql> grant all on *.* to root@'192.168.%.%' identified by 'dayi123';

    (2)用户权限查看

             查看已经授权给用户权限信息命令:show grants for ‘username’@’host’

    # 查看授权给'dayi'@'192.168.%.%'的权限信息
    mysql> show grants for 'dayi'@'192.168.%.%';
    +---------------------------------------+
    | Grants for dayi@192.168.%.%              |                                         
    +---------------------------------------------------+
    | GRANT USAGE ON *.* TO 'dayi'@'192.168.%.%'   |                                         
    | GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON `web`.* TO 'dayi'@'192.168.%.%' |
    +---------------------------------------------------+
    2 rows in set (0.00 sec)

    查看创建用户的语句:show create user ‘username’@’host’

    # 查看给用户’dayi’没有授权的信息
    mysql> show create user dayi@'192.168.%.%';
    +------------------------------------------+
    | CREATE USER for dayi@192.168.%.%            |                                                                                                                       
    +--------------------------------------------+
    | CREATE USER 'dayi'@'192.168.%.%' IDENTIFIED WITH 'mysql_native_password' AS '*8FD40AC91E6D5D89D1060096FDEF8A4ECAA05B5C' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK |
    +-----------------------------------------------+
    1 row in set (0.00 sec)

    (3)收回用户权限

             收回用户权限是可以通过语句revoke完成,命令格式为:

             Revoke permission on ‘database’,’tables’ from ‘username’@’host’

    # 收回用户dayi远程登录的drop权限;
    mysql> revoke drop on web.* from dayi@'192.168.%.%';
    Query OK, 0 rows affected (0.00 sec)

    (4)设置用户密码

             Mysql数据库一般在创建用户时就给用户设置了密码,如果在用户创建完成后想修改密码,可通过相应的命令来完成。

             1)修改其他用户密码(当前用户要有权限),一般在root用户下操作

             登录mysql后的修改命令:

                      Alter user ‘username’@’host’ identified by ‘newpassword’

                      Set password for ‘username’@’host’=password(‘newpassword’)

                      Grant user on permission to ‘user’@’host’ identified by ‘newpassword’

             在系统命令行下修改:

                      mysqladmin –u uername –h host password “newpassword”

    # 修改dayi123的密码为dayi1234
    mysql> alter user 'dayi123'@'localhost' identified by 'dayi1234';
    Query OK, 0 rows affected (0.35 sec)
    # 修改dayi远程登录密码为dayi1234
    mysql> set password for 'dayi'@'192.168.%.%'=password('dayi1234');
    Query OK, 0 rows affected, 1 warning (0.00 sec)

             2)修改当前用户密码

                 alter user user() identified by ‘newpassword’

                 set password=password(‘newpassword’)

    # 修改当前登录的root的密码为dayi1234
    mysql> alter user user() identified by 'dayi1234';
    Query OK, 0 rows affected (0.00 sec)

    (5)mysql用户删除

             删除命令:drop user ‘username’@’host’

    # 删除用户dayi远程登录
    mysql> drop user 'dayi'@'192.168.%.%';
    Query OK, 0 rows affected (0.00 sec)
    # 查看删除后的用户
    mysql> select user,host from mysql.user;
    +---------------+-------------+
    | user          | host        |
    +---------------+-------------+
    | root          | 192.168.%.% |
    | dayi          | localhost   |
    | dayi123       | localhost   |
    | mysql.session | localhost   |
    | mysql.sys     | localhost   |
    | root          | localhost   |
    +---------------+-------------+

    (6)用户的锁定与解锁

             在创建用户时或用户创建后可以将用户锁定,用户被锁定后,此用户无法完成登录,锁定与解锁的命令如下:

             在创建用户时锁定用户:

             Create user ‘username’@’host’ identified by ‘password’ account lock;

             用户创建受锁定用户L

             Alter user ‘username’@’host’ account lock

             解锁用户:alter user ‘username’@’host’ account unlock;

    # 锁定用户dayi123
    mysql> alter user 'dayi123'@'localhost' account lock;
    Query OK, 0 rows affected (0.00 sec)
    # 用户被锁定后等录时报如下错:
    ~]# mysql -udayi123 -p
    Enter password: 
    ERROR 3118 (HY000): Access denied for user 'dayi123'@'localhost'. Account is locked.
    # 解锁用户dayi123
    mysql> alter user 'dayi123'@'localhost' account unlock;
    Query OK, 0 rows affected (0.00 sec)

    (7)设置密码过期策略

             Mysql数据库用户同系统用户一样,可以设置密码过期策略,密码的过期天数可以在配置文件里面设置,也可以通过命令设置,通过命令为每个用户设置密码的过期天数则会覆盖系统配置文件中的设置。

             1)配置文件中设置

             选项:default_password_lifetime=”过期天数” :如果设置为0,则密码永不过期。

             2)通过命令设置

             命令:alter user ‘username’@’localhost’ password expire interval number day; 设置过期天数

                         alter user ‘username’@’localhost’ password expire never; 设置密码不过期

                         alter user ‘username’@’localhost’ password expire default; 默认过期策略

                         alter user ‘username’@’localhost’ password expire; 手动强制密码过期

    #设置用户dayi123的密码180天后过期
    mysql> alter user 'dayi123'@'localhost' password expire interval 180 day;
    Query OK, 0 rows affected (0.00 sec)
    # 设置用户dayi的密码立即过期
    mysql> alter user 'dayi'@'localhost' password expire;
    Query OK, 0 rows affected (0.00 sec)
    # 设置密码过期后执行命令时需要修改密码才能执行命令
    ]# mysql -udayi –p
    ……
    mysql> show databases;
    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

    (8)mysql数据库用户资源限制

             通过修改mysql数据库资源限制可以限制用户在某个时间段内连接mysql数据库的时间、执行语句的次数等。

             1)设置参数:

             max_user_connections:全局选项,限制所有用户在同一时间连接mysql数据库实例的数量

             MAX_QUERIES_PER_HOUR:一个用户在一个小时内可以执行查询的次数(基本包含所有语句)

             MAX_UPDATES_PER_HOUR:一个用户在一个小时内可以执行修改的次数(仅包含修改数据库或表的语句)

             MAX_CONNECTIONS_PER_HOUR:一个用户在一个小时内可以连接MySQL的时间

             MAX_USER_CONNECTIONS:一个用户可以在同一时间连接MySQL实例的数量

             2)设置mysql数据库用户资源限制

             设置mysql数据库用户资源限制时可以在创建用户时设置,也可以在用户创建完成后通过命令设置。

    # 创建用户day,并对用户day的资源进行控制
    mysql> create user 'day'@'localhost' identified by 'dayi123' with max_queries_per_hour 20 max_updates_per_hour 10 max_connections_per_hour 5 max_user_connections 2;  
    Query OK, 0 rows affected (0.00 sec)
    # 对用户dayi进行资源控制
    mysql> alter user 'dayi'@'localhost'  with max_queries_per_hour 20 max_updates_per_hour 10 max_connections_per_hour 5 max_user_connections 2;
    Query OK, 0 rows affected (0.00 sec)

             当需要取消某个选项的,只需将某个选项的值设置为0即可。

    展开全文
  • Mysql数据库用户及用户权限管理,Navicat设置用户权限一、Mysql数据库的权限1.1 mysql数据库用户权限级别1.2 mysql数据库用户权限1.3 存放用户权限表的说明二、用户权限管理2.1 创建用户及授权创建及给用户授权命令...



    相关内容原文地址: CSDN:dayi_123:[mysql数据库用户及用户权限管理](https://blog.csdn.net/dayi_123/article/details/82989264)

    一、Mysql数据库的权限

    1.1 mysql数据库用户权限级别

    1. 全局性管理权限:作用于整个mysql实例级别
    2. 数据库级别:作用于指定的某个数据库上或者所有数据库上
    3. 数据库对象级别权限:作用于指定的数据库对象上(表或者视图)

    1.2 mysql数据库用户权限

    权限名称 权限说明
    All/All Privileges 全局或者全数据库对象级别的所有权限
    Alter 修改表结构的权限,但必须要求有create和insert权限配合
    Alter routine 修改或者删除存储过程、函数的权限
    Create 创建新的数据库和表的权限
    Create routine 允许创建存储过程、函数的权限
    Create tablespace 允许创建、修改、删除表空间和日志组的权限
    Create temporary tables 创建临时表权限
    Create user 创建、修改、删除、重命名user
    Create view 创建视图
    Delete 删除行数据
    drop 删除数据库、表、视图的权限,包括truncate table命令
    Event 查询,创建,修改,删除MySQL事件
    Execute 执行存储过程和函数
    File 在MySQL可以访问的目录进行读写磁盘文件操作,可使用的命令包括load data infile,select ,into outfile,load file()函数等
    Grant option 授权或者收回给其他用户你给予的权限
    Index 创建和删除索引
    Insert 在表里插入数据
    Lock 对拥有select权限的表进行锁定,以防止其他链接对此表的读或写
    Process 允许查看MySQL中的进程信息,比如执行show processlist, mysqladmin processlist, show engine等命令
    Reference 允许创建外键
    Reload 执行flush命令,指明重新加载权限表到系统内存中
    Replication client 执行show master status,show slave status,show binary logs命令
    Replication slave 允许slave主机通过此用户连接master以便建立主从复制关系
    Select 从表中查看数据
    Show databases 通过执行show databases命令查看所有的数据库名
    Show view 通过执行show create view命令查看视图创建的语句
    Shutdown 关闭数据库实例,执行语句包括mysqladmin shutdown
    Super 允许执行一系列数据库管理命令,包括kill强制关闭某个连接命令,change master to创建复制关系命令,以及create/alter/drop server等命令
    Trigger 允许创建,删除,执行,显示触发器的权限
    Update 修改表中数据的权限
    Usage 创建一个用户之后的默认权限,本身代表无权限

    1.3 存放用户权限表的说明

    Mysql数据库用户权限存储在mysql库的user, db, tables_priv, columns_priv, procs_priv这几个系统表中, MySQL实例启动后就加载到内存中。

    存放权限的表 表的作用
    user 存放用户账户信息以及全局级别(所有数据库)权限,(存放了那些用户可以访问那些数据库的权限)
    db 数据库级别权限,决定了来自哪些主机的哪些用户可以访问此数据库
    tables_priv 存放表级别的权限,决定了来自哪些主机的哪些用户可以访问数据库的那张表
    columns_priv 存放列级别的权限,决定了来自哪些主机的哪些用户可以访问数据库表的字段
    procs_priv 存放存储过程和函数级别的权限

    Mysql数据库权限管理中,字段user,password,authencation_string,db,table_name大小写敏感,而字段host,column_name,routine_name对大小写不敏感。

    二、用户权限管理

    2.1 创建用户及授权

    Mysql用户创建可以通过create user/grant命令创建,也可以通过insert语句直接操作MySQL系统权限表来创建。

    创建及给用户授权命令

    创建用户:

    CREATE USER username@'host' IDENTIFIED BY 'password'
    

    用户授权:

    GRANT permission ON database.tables TO username@’host’
    

    创建用户并授权:

    GRANT permission ON database.tables TO username@'hostt'  WITH GRANT OPTION;
    

    MYSQL创建用户及给用户授权的用户名主机部分由两部分组成,分别为用户名和登录主机名,格式为’username’@’hostname’;hostname字段可以使用主机名或者ip地址,同时hostname字段允许使用”%”和”_”两种字符进行匹配。

    # 创建用户dayi123并授予本地登录所有库所有权限
    mysql> create user 'dayi123'@'localhost' identified by 'dayi123';
    mysql> grant all privileges on *.* to 'dayi123'@'localhost' with grant option;
    # 创建用户用户dayi通过192.168.0.0段ip地址登录的增删该查跟新库web的权限
    mysql> grant select,insert,update,delete,create,drop on web.* to 'dayi'@'192.168.%.%' identified by 'dayi123';
    # 给root用户授权可以通过192.168.0.0段地址登录
    mysql> grant all on *.* to root@'192.168.%.%' identified by 'dayi123';
    

    2.2 用户权限查看

    查看已经授权给用户权限信息命令:show grants for ‘username’@’host’

    # 查看授权给'dayi'@'192.168.%.%'的权限信息
    mysql> show grants for 'dayi'@'192.168.%.%';
    +---------------------------------------+
    | Grants for dayi@192.168.%.%              |                                         
    +---------------------------------------------------+
    | GRANT USAGE ON *.* TO 'dayi'@'192.168.%.%'   |                                         
    | GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON `web`.* TO 'dayi'@'192.168.%.%' |
    +---------------------------------------------------+
    2 rows in set (0.00 sec)
    

    查看创建用户的语句:show create user ‘username’@’host’

    # 查看给用户’dayi’没有授权的信息
    mysql> show create user dayi@'192.168.%.%';
    +------------------------------------------+
    | CREATE USER for dayi@192.168.%.%            |                                                                                                                       
    +--------------------------------------------+
    | CREATE USER 'dayi'@'192.168.%.%' IDENTIFIED WITH 'mysql_native_password' AS '*8FD40AC91E6D5D89D1060096FDEF8A4ECAA05B5C' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK |
    +-----------------------------------------------+
    1 row in set (0.00 sec)
    

    2.3 收回用户权限

    收回用户权限是可以通过语句revoke完成,命令格式为:

    Revoke permission ondatabase,tablesfrom ‘username’@’host’
    
    # 收回用户权限是可以通过语句revoke完成,命令格式为:
    Revoke permission ondatabase,tablesfrom ‘username’@’host’
    

    2.4 设置用户密码

    Mysql数据库一般在创建用户时就给用户设置了密码,如果在用户创建完成后想修改密码,可通过相应的命令来完成。

    修改其他用户密码(当前用户要有权限),一般在root用户下操作

    登录mysql后的修改命令:

    Alter user ‘username’@’host’ identified by ‘newpassword’
    Set password for ‘username’@’host’=password(‘newpassword’)
    Grant user on permission touser’@’host’ identified by ‘newpassword’
    

    在系统命令行下修改:

    mysqladmin –u uername –h host password “newpassword”
    
    # 修改dayi123的密码为dayi1234
    mysql> alter user 'dayi123'@'localhost' identified by 'dayi1234';
    Query OK, 0 rows affected (0.35 sec)
    # 修改dayi远程登录密码为dayi1234
    mysql> set password for 'dayi'@'192.168.%.%'=password('dayi1234');
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    

    修改当前用户密码

    alter user user() identified by ‘newpassword’
    set password=password(‘newpassword’)
    
    # 修改当前登录的root的密码为dayi1234
    mysql> alter user user() identified by 'dayi1234';
    Query OK, 0 rows affected (0.00 sec)
    

    2.5 删除用户

    删除命令:drop user ‘username’@’host’

    # 删除用户dayi远程登录
    mysql> drop user 'dayi'@'192.168.%.%';
    Query OK, 0 rows affected (0.00 sec)
    # 查看删除后的用户
    mysql> select user,host from mysql.user;
    +---------------+-------------+
    | user          | host        |
    +---------------+-------------+
    | root          | 192.168.%.% |
    | dayi          | localhost   |
    | dayi123       | localhost   |
    | mysql.session | localhost   |
    | mysql.sys     | localhost   |
    | root          | localhost   |
    +---------------+-------------+
    

    2.6 用户的锁定与解锁

    在创建用户时或用户创建后可以将用户锁定,用户被锁定后,此用户无法完成登录,锁定与解锁的命令如下:

    在创建用户时锁定用户:

         Create user ‘username’@’host’ identified by ‘password’ account lock;
    

    用户创建受锁定用户L

         Alter user ‘username’@’host’ account lock
    

    解锁用户:alter user ‘username’@’host’ account unlock;

    # 锁定用户dayi123
    mysql> alter user 'dayi123'@'localhost' account lock;
    Query OK, 0 rows affected (0.00 sec)
    # 用户被锁定后等录时报如下错:
    ~]# mysql -udayi123 -p
    Enter password: 
    ERROR 3118 (HY000): Access denied for user 'dayi123'@'localhost'. Account is locked.
    # 解锁用户dayi123
    mysql> alter user 'dayi123'@'localhost' account unlock;
    Query OK, 0 rows affected (0.00 sec)
    

    2.7 设置密码过期策略

    Mysql数据库用户同系统用户一样,可以设置密码过期策略,密码的过期天数可以在配置文件里面设置,也可以通过命令设置,通过命令为每个用户设置密码的过期天数则会覆盖系统配置文件中的设置。

    1. 配置文件中设置
      选项:default_password_lifetime=”过期天数” :如果设置为0,则密码永不过期。
    2. 通过命令设置
    alter user ‘username’@’localhost’ password expire interval number day; 设置过期天数
     alter user ‘username’@’localhost’ password expire never; 设置密码不过期
    alter user ‘username’@’localhost’ password expire default; 默认过期策略
    alter user ‘username’@’localhost’ password expire; 手动强制密码过期
    
    #设置用户dayi123的密码180天后过期
    mysql> alter user 'dayi123'@'localhost' password expire interval 180 day;
    Query OK, 0 rows affected (0.00 sec)
    # 设置用户dayi的密码立即过期
    mysql> alter user 'dayi'@'localhost' password expire;
    Query OK, 0 rows affected (0.00 sec)
    # 设置密码过期后执行命令时需要修改密码才能执行命令
    ]# mysql -udayi –p
    ……
    mysql> show databases;
    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
    

    2.8 mysql数据库用户资源限制

    通过修改mysql数据库资源限制可以限制用户在某个时间段内连接mysql数据库的时间、执行语句的次数等。

    1. 设置参数:
    max_user_connections:全局选项,限制所有用户在同一时间连接mysql数据库实例的数量
    MAX_QUERIES_PER_HOUR:一个用户在一个小时内可以执行查询的次数(基本包含所有语句)
    MAX_UPDATES_PER_HOUR:一个用户在一个小时内可以执行修改的次数(仅包含修改数据库或表的语句)
    MAX_CONNECTIONS_PER_HOUR:一个用户在一个小时内可以连接MySQL的时间
    MAX_USER_CONNECTIONS:一个用户可以在同一时间连接MySQL实例的数量
    
    1. 设置mysql数据库用户资源限制
      设置mysql数据库用户资源限制时可以在创建用户时设置,也可以在用户创建完成后通过命令设置。
    # 创建用户day,并对用户day的资源进行控制
    mysql> create user 'day'@'localhost' identified by 'dayi123' with max_queries_per_hour 20 max_updates_per_hour 10 max_connections_per_hour 5 max_user_connections 2;  
    Query OK, 0 rows affected (0.00 sec)
    # 对用户dayi进行资源控制
    mysql> alter user 'dayi'@'localhost'  with max_queries_per_hour 20 max_updates_per_hour 10 max_connections_per_hour 5 max_user_connections 2;
    Query OK, 0 rows affected (0.00 sec)
    

    当需要取消某个选项的,只需将某个选项的值设置为0即可。

    三、Navicat设置mysql用户数据库权限

    在这里插入图片描述
    点击上图的新建用户,可以看到相关权限的配置。
    在这里插入图片描述

    展开全文
  • 我们将学习到DWS数据库权限管理的相关知识并进一步学会如何进行权限管理
  • Navicat配置mysql数据库用户权限

    千次阅读 2019-06-24 23:22:37
    用数据库的时候就会遇到有多个用户,分配用户权限的情况,有些用户只读,有些用户可以读写,有些用户只能操作一个或者多个数据库,如何给mysql的用户设置权限,我...查询数据库用户权限:show grants for 用户名@'%';
  • MySQL数据库用户权限管理

    千次阅读 2018-03-19 15:36:54
    MySQL数据库用户权限管理数据库方面有两个方向。一个是数据库管理员(Database Administrator)简称DBA,一个是数据库开发工程师(Database Developer),其中:1) 数据库开发工程师的主要职责是设计和开发...
  • 数据库用户权限的授予

    千次阅读 2020-04-24 20:22:32
    1.SQL中使用GRANT语句来授予用户权限,用REVOKE语句来收回用户权限。...注:发出授权语句的用户可以是数据库管理员,也可以是对象的创建者,被授权的对象,不允许出现授权循环现象。 3.权限的种类: 3.1全部的权...
  • Oracle权限管理 一、权限分类: 系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。 实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。 二、系统权限管理: ...
  • 数据库用户权限分配

    千次阅读 2018-07-31 21:44:56
    使用管理员用户名密码登陆数据库 create user TestOracle IDENTIFIED by Mu3131556; //创建用户 用户名:TestOracle,密码:Mu3131556 grant create SESSION to TestOracle; //授予登陆权限 grant create ...
  • MySQL数据库权限管理

    千次阅读 2018-07-25 17:40:20
    (本文总结了各种情况的权限管理示例,如有需要随时更新) MySQL权限表 MySQL数据库实际上是通过将用户写入mysql库中对应的权限表来控制访问权限的。 权限表分别为: user,db,table_...
  • 这是大三第一学期《数据库基础》的实验报告,总共15个实验,前12个...实验13用户管理及权限管理 本文 实验14并发控制 点我查看 实验15数据恢复 点我查看 课程名称数据库基础 实验项目实验13用户管理及权限管理...
  • 权限设计初级如下 1.设计角色 (包含id,名称,描述,后台用户数量,创建时间,是否禁用,种类) 2.权限表(包含id,父级权限,权限值,图标,权限类型,前端资源...3.用户角色与权限关联表(id,角色id,权限id) ...
  • 数据库——数据库用户管理

    千次阅读 2020-10-11 14:23:39
    数据库——数据库用户管理 SQLyog可视化操作 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zQLL6ol4-1602397334528)(C:\Users\len\Desktop\Picture\Screenshot\屏幕截图 2020-10-11 ...
  • 描述数据库中创建的用户的三种权限类型:DBA,RESOURCE,CONNECT。 演示给一个用户进行授权与权限回收的操作过程。
  • 数据库实验四(用户权限管理

    千次阅读 2017-06-04 20:44:38
    1. 用 SYSTEM 账户登录数据库,创建用户 A、B、C,密码分别为 A、B、C; create user A identified by A; create user B ...2. 用 SYSTEM 账户把 CREATE SESSION 和 CREATE TABLE 权限授予给用户 A,并 允许
  • 数据库用户权限管理

    千次阅读 2018-10-23 11:17:34
    用户管理 用户数据所在位置 mysql数据库的user表中 创建用户 create user '用户名'@'允许登录的地址' identified by '密码' 注意:若授予该用户在所有的地址访问,则@后面为% 删除用户 drop user '用户名...
  • MYSQL数据库管理之权限管理

    千次阅读 2015-12-21 21:43:44
    MYSQL数据库管理之权限管理 经常遇到有网友在QQ群或者论坛上问关于mysql权限的问题,今天抽空总结一下关于这几年使用MYSQL的时候关于MYSQL数据库权限管理的经验,也希望能对使用mysql的网友有所帮助! 一、MYSQL...
  • RBAC用户权限管理数据库设计

    万次阅读 多人点赞 2014-07-25 02:11:54
    RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中...
  • 用户权限管理模块的数据库设计

    万次阅读 多人点赞 2016-10-10 12:43:19
    RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中...
  • 达梦数据库用户管理

    千次阅读 2020-04-22 12:27:20
    达梦数据库用户管理(一)概念(二)规划用户(三)用户维护 (一)概念 在DM数据库中用户管理主要涉及到三块:用户、权限、角色。权限:执行特定类型sql 或是访问其他模式对象的权利。 系统权限:数据库对象的创建...
  • mysql管理数据库用户和访问权限

    万次阅读 2017-03-31 15:24:30
    1:创建一个数据库用户: MariaDB [(none)]> create user jarry@localhost identified by "root"; Query OK, 0 rows affected (0.00 sec) 解释:该账户的用户名:jarry,主机名localhost,密码“root” 该用户账户...
  • 数据库管理用户角色组权限设计

    千次阅读 2017-03-15 22:47:16
    用户角色设计,权限设计,角色组,数据库设计,用户角色权限表设计
  • oracle数据库分配用户权限

    千次阅读 2018-04-03 23:06:52
    Oracle数据库用户有两种途径获得权限,它们分别为1.管理员直接向用户授予权限2.管理员直接将权限授予角色,然后将角色授予给一个或者多个用户使用后者能够更加方便高效地对权限进行管理,所以我们应该习惯于使用角色...
  • 本文使用springboot+mybatis+SpringSecurity 实现数据库动态的管理用户、角色、权限管理本文细分角色和权限,并将用户、角色、权限和资源均采用数据库存储,并且自定义滤器,代替原有的FilterSecurityInterceptor...
  • 一、MySQL修改密码方法总结 ... 方法一 使用phpMyAdmin (图形化管理MySql数据库的工具),这是最简单的,直接用SQL语句修改mysql数据库库的user表,不过别忘了使用PASSWORD函数,插入用户用Insert命令,修改用户
  • 达梦数据库权限管理

    千次阅读 2020-07-25 10:51:21
    一、系统权限 一般用户只需要要授予RESOURCE和PUBLIC两个角色即可 授予命令: grant PUBLIC to USER; grant RESOURCE to USER; ...5.DBA用户可查询DBA_SYS_PRIVS视图查询哪些系统权限可以赋予用户
  • 用户权限管理系统数据库设计UML

    千次阅读 2019-05-30 16:02:26
    建表语句: https://pan.baidu.com/s/10rswkItk6cKq4ben361AJg 密码 :gdld
  • web服务器连接数据库常用权限管理

    千次阅读 2018-01-09 16:43:45
    mysql中可以给你一个用户授予如select,...grant 权限 on 数据库对象 to 用户 一、普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。 grant select on testdb.* to web_user@’%’ grant insert on

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 420,705
精华内容 168,282
关键字:

数据库用户权限管理