MySQL 用户管理与权限管理

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

-- 操作环境
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 收回权限

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

文章可以转载,必须以链接形式标明出处。
分类:  mysql体系结构


本文转自 张冲andy 博客园博客,原文链接:http://www.cnblogs.com/andy6/p/6618007.html    ,如需转载请自行联系原作者

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
安全 关系型数据库 MySQL
轻松入门MySQL:MySQL8权限管理详解,角色和用户操作实例(18)
轻松入门MySQL:MySQL8权限管理详解,角色和用户操作实例(18)
717 0
|
4月前
|
存储 关系型数据库 MySQL
【mysql】—— 用户管理
【mysql】—— 用户管理
|
4月前
|
SQL 关系型数据库 MySQL
⑤ 【MySQL】DCL语句 —— 用户管理、权限控制
⑤ 【MySQL】DCL语句 —— 用户管理、权限控制
64 0
|
4月前
|
SQL 关系型数据库 MySQL
mysql用户、权限管理
mysql用户、权限管理
|
4月前
|
存储 关系型数据库 MySQL
【MySQL】用户管理 -- 详解
【MySQL】用户管理 -- 详解
|
3月前
|
安全 关系型数据库 MySQL
深入解析MySQL 8中的角色与用户管理
深入解析MySQL 8中的角色与用户管理
96 3
|
4月前
|
关系型数据库 MySQL Linux
MySQL免编译安装和用户管理(转)
MySQL免编译安装和用户管理(转)
26 1
|
3月前
|
安全 关系型数据库 MySQL
MySQL权限管理大揭秘:用户、组、权限解析
MySQL权限管理大揭秘:用户、组、权限解析
255 0
|
3月前
|
存储 关系型数据库 MySQL
【MySQL】用户管理
【MySQL】用户管理
|
4月前
|
关系型数据库 MySQL Linux
Linux下MySQL的用户与权限管理
Linux下MySQL的用户与权限管理
36 0

热门文章

最新文章