MySQL 用户管理与权限管理

-- 操作环境
mysql> show variables like ‘version‘;  
+---------------+--------+
| Variable_name | Value  |
+---------------+--------+
| version       | 5.6.25 |
+---------------+--------+
1 row in set (0.04 sec)

背景知识补充:
user   表中 host 列的值的意义
%            匹配所有主机
localhost    localhost 不会被解析成 IP 地址,直接通过 UNIXsocket 连接
127.0.0.1    会通过 TCP/IP 协议连接,并且只能在本机访问;
::1 ::1      就是兼容支持 ipv6 的,表示同 ipv4 的 127.0.0.1

一: 用户管理

1. 查看用户
mysql> select host,user,password from mysql.user where user like ‘andy‘;

2. 创建数据库用户
--指定密码创建新用户,%表示任意,即 andy02 可以从任意主机访问数据库  
mysql> create user ‘andy02‘@‘%‘ identified by ‘oracle‘; 
Query OK, 0 rows affected (0.03 sec)
 
3. 用户改密码
mysql> set password for andy02=password(‘mysql‘);
mysql> flush privileges;

4.删除用户
--查看当前系统中已存在的用户  
mysql> select user,host,Password from mysql.user;  
--使用drop user命令删除用户  
mysql> drop user ‘andy02‘@‘%‘;    注意:如果不指定 @‘%‘ ,默认缺省,则删除的是 ‘%‘ 。
mysql> select user,host,Password from mysql.user where user like ‘andy%‘; 
Empty set (0.00 sec)

5. 重命名帐户
--rename user命令  
mysql> rename user ‘andy02‘@‘%‘ to ‘andy01‘@‘%‘; 
Query OK, 0 rows affected (0.00 sec)
--检查  
mysql> select user,host,Password from mysql.user where user like ‘andy%‘;

二:权限管理

注意:mysql的权限相对于oracle而言,相对简单,而且也没有涉及到角色方面的定义与配置

--grant命令语法

1. 权限种类  
(这里直接查看,root账户所有的权限)

mysql> select * from mysql.user where user=‘root‘ and host=‘%‘\G;
*************************** 1. row ***************************
                  Host: %
                  User: root
              Password: *2447D497B9A6A15F2776055CB2D1E9F86758182F
           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: 
      password_expired: N
1 row in set (0.00 sec)

2. 权限存放

MySQL 服务器通过 MySQL 权限表来控制用户对数据库的访问,MySQL 权限表存放在 mysql 数据库里,由 mysql_install_db 脚本初
始化。这些 MySQL 权限表分别 user,db,table_priv,columns_priv 和 host。

user 权限表:记录允许连接到服务器的用户帐号信息,里面的权限是全局级的。
db 权限表:记录各个帐号在各个数据库上的操作权限。
table_priv 权限表:记录数据表级的操作权限。
columns_priv 权限表:记录数据列级的操作权限。
host 权限表:配合 db 权限表对给定主机上数据库级操作权限作更细致的控制。这个权限表不受 GRANT 和 REVOKE 语句的影响。

3. 权限范围 priv_level: 
    *
  | *.*
  | db_name.*
  | db_name.tbl_name
  | tbl_name
  | db_name.routine_name

4. 授权
mysql>grant all privileges on *.* to ‘andy01‘@‘%‘;    (--WITH GRANT OPTION 是否传递,默认为不传递)
mysql>flush privileges;

5. 查看当前用户的权限
mysql> show grants;

6. 查看指定用户的权限

mysql> show grants for ‘andy01‘@‘%‘;

-- revoke 收回权限

撤销与授权的权限方式基本类似,这里不做讨论。

时间: 2024-10-21 12:15:06

MySQL 用户管理与权限管理的相关文章

mysql用户操作和权限管理

用户操作与权限管理 MySQL用户操作 创建用户 方法一: CREATE USER语句创建 CREATE USER "用户名"@"IP地址" IDENTIFIED BY "密码"; 方法二: INSERT语句创建 INSERT INTO mysql.user(user,host, password,ssl_cipher,x509_issuer,x509_subject) VALUES(‘用户名’,’IP地址’,password(‘密码’),’’,

MySQL数据库(7)_用户操作与权限管理、视图、存储过程、触发器、基本函数

用户操作与权限管理 MySQL用户操作 创建用户 方法一: CREATE USER语句创建 CREATE USER "用户名"@"IP地址" IDENTIFIED BY "密码"; 方法二: INSERT语句创建 INSERT INTO mysql.user(user,host, password,ssl_cipher,x509_issuer,x509_subject) VALUES('用户名','IP地址',password('密码'),'',

用户管理和权限管理

用户管理和权限管理 用户账号:用户.组 /etc/ passwd用户账号家目录属性 shadow用户密码和使用期限 group组账号家目录属性 gshadow组密码和使用期限 Linux用户 UID:0-65535(一般0-60000) 管理员:0 系统用户 centOS6:1-499 centOS7:1-999 登录用户 centOS6:500---60000 centOS7:1000---60000 /etc/shadow 加密与解密 加密就是将明文加密到密文 解密就是将密文还原到明文 破解

用户管理!权限管理!重定向

用户管理 useradd  -u, -g,-G(附加组),-c,-d, -s, -r(创建系统用户), -M(不创建家目录), 思考题:删除yhy用户家目录,如何还原(root用户重新创建yhy的家目录,拷贝/etc/skel/.bash* 的三个文件到/etc/yhy/下即可) usermod -u, -g, -G, -a, -c, -l(修改用户名), -s, -L(锁定用户密码), -U(解锁用户密码) userdel -r(同时删除家目录) passwd -d(删除用户密码),-e(设置

Linux用户及文件权限管理

用户及文件权限管理 一.实验介绍 1.1 实验内容 Linux 中创建.删除用户,及用户组等操作. Linux 中的文件权限设置. 1.2 实验知识点 Linux 用户管理 Linux 权限管理 二.Linux 用户管理 通过第一节课程的学习,你应该已经知道,Linux 是一个可以实现多用户登陆的操作系统,比如"李雷"和"韩梅梅"都可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件.但实际上他们的文件都是放在同一个物理磁

Linux之用户及文件权限管理

Linux之用户及文件权限管理 前言:Linux 是一个多用户的操作系统:Linux哲学思想之一-"一切皆文件".说明在学习Linux过程中,用户及文件权限的管理是非常重要滴.本文主要是引用了CentOs/RedHat 7.1的命令. 一.用户.组管理 1).用户.组类型: 超级用户(管理员):root用户具有一切权限,只有在进行系统维护(如创建用户.分配权限)时用到:由于root用户权限过大,为了避免管理员的误操作导致不可逆的后果,所以在非必要的情况下不用root用户登录. 普通用户

用户与用户组权限管理详解

用户及用户组权限管理    Linux是一个多任务多用户的系统,多用户可以同时登陆同一台主机.为了考虑到每个人的隐私权和工作空间,这时候文件所有者(owner)就是即用户的角色就变得尤为重要了,同时为了用户与用户之间方便合作,共享一些公共资源,这时,为了实现资源的快速分配,我们把多个用户放在一个公共的空间,分别赋予他们不同的读写执行等操作的权限,这些用户共同组成的一个整体,就是所谓的用户组(group). 第一部分 Linux权限管理 用命令ls -l可以列出用户的权限. #ls -l 这里我们

2.4、使用Django自带的admin用户管理,权限管理

如何创建项目请参考2.2.创建项目. 通常web服务会要求注册的用户通过用户名和密码登录,然后才可能管理自己的信息或者对一些页面进行授权,判断用户是否拥有执行某种操作的权限. Django已经提供了一个django.contrib.auth应用来处理登录,登出和权限验证,同时还提供了django.contrib.admin应用来管理用户.可以参考你的虚拟python环境的/lib/python27/site-packges/django/contrib/admin里面的文件和源码. 我们要做的就

Linux 基础入门----用户及文件权限管理

用户及文件权限管理 实验介绍 1.Linux 中创建.删除用户,及用户组等操作. 2.Linux 中的文件权限设置. 一.Linux 用户管理 Linux 是一个可以实现多用户登陆的操作系统,比如“李雷”和“韩梅梅”都可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件.但实际上他们的文件都是放在同一个物理磁盘上的甚至同一个逻辑分区或者目录里,但是由于 Linux 的 用户管理 和 权限机制 ,不同用户不可以轻易地查看.修改彼此的文件. 下面我们就来学

20150825-Linux用户管理和权限管理

概述 对于使用计算机的用户来讲,都知道要使用计算机,都需要使用用户来进行登录,并且都知道用户是什么.那么计算机如何识别用户呢?计算机通过一种所谓的认证机制来识别这个用户是不是有权限或者说是被计算机所允许登录使用计算机资源的用户. 在计算机安全模型当中,计算机的每一个可用户的.可访问的资源,通常都给他关联一个用户标识,即给计算机上的可用资源都给一个属主的身份,规定他属于谁!所以计算机对资源的权限控制,仅仅是将可用的资源授予给了计算机内部的一个标识,这个用户标识就叫做用户名,但是这个用户名对应的现实