`

mysql 权限控制笔记

    博客分类:
  • WEB
阅读更多
    MySQL  存取控制包含2个阶段:

    * 阶段1:服务器检查是否允许你连接。
    * 阶段2:假定你能连接,服务器检查你发出的每个请求。看你是否有足够的权限实施它。例如,如果你从数据库表中选择(select)行或从数据库删除表,服务器确定你对表有SELECT权限或对数据库有DROP权限。

1.权限查看
mysql> show grants for 'root'@'localhost' ;
+---------------------------------------------------------------------+
| Grants for root@localhost                                           |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+
1 row in set (0.06 sec)

对于需要远程登录的用户执行如下命令:
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "yourpasswd";
mysql> flush privileges;

一般远程不会使用root来赋予所有权限,建议赋予另外一个用户相应权限操作。

2.权限设置

mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
    ->     IDENTIFIED BY 'some_pass';

mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
    ->     IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
   其中两个账户有相同的用户名monty和密码some_pass。两个账户均为超级用户账户,具有完全的权限可以做任何事情。一个账户 ('monty'@'localhost')只用于从本机连接时。另一个账户('monty'@'%')可用于从其它主机连接。


mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';
该账户只用于从本机连接。授予了RELOAD和PROCESS管理权限。这些权限允许admin用户执行mysqladmin reload、mysqladmin refresh和mysqladmin flush-xxx命令,以及mysqladmin processlist。未授予访问数据库的权限。你可以通过GRANT语句添加此类权限。

mysql> GRANT USAGE ON *.* TO 'dummy'@'localhost';
    一个账户有用户名dummy,没有密码。该账户只用于从本机连接。未授予权限。通过GRANT语句中的USAGE权限,你可以创建账户而不授予任何权限。它可以将所有全局权限设为'N'。假定你将在以后将具体权限授予该账户。


下面的例子创建3个账户,允许它们访问专用数据库。每个账户的用户名为custom,密码为obscure。

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
    ->     ON bankaccount.*
    ->     TO 'custom'@'localhost'
    ->     IDENTIFIED BY 'obscure';

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
    ->     ON expenses.*
    ->     TO 'custom'@'whitehouse.gov'
    ->     IDENTIFIED BY 'obscure';

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
    ->     ON customer.*
    ->     TO 'custom'@'server.domain'
    ->     IDENTIFIED BY 'obscure';

这3个账户可以用于:

·         第1个账户可以访问bankaccount数据库,但只能从本机访问。

·         第2个账户可以访问expenses数据库,但只能从主机whitehouse.gov访问。

·         第3个账户可以访问customer数据库,但只能从主机server.domain访问。

要想不用GRANT设置custom账户,使用INSERT语句直接修改 授权表:


从MySQL删除用户账户
DROP USER user;
分享到:
评论

相关推荐

    MySQLDBA运维笔记.pdf

    1.4.2 mysql 的备份的脚本给 700 的权限,并且属主和属组为 root..........................21 1.4 关于 mysql 的启动与关闭.......................................................................................

    超强MySQL课程笔记_V4.0.ctb

    DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE 3. 数据访问技术 A. ODBC PHP <.php> B. JDBC JAVA 数据库管理系统软件:DBMS Oracle SQL Server DB2 MySQL 开源 MariaDB

    MySQL5000字超详细笔记

    这份笔记的亮点在于它详细解释了SQL语句的各个部分,包括DDL、DML和DQL操作,以及用户权限控制和事务控制语言的应用。 对于初学者来说,这份笔记提供了坚实的基础,帮助他们理解关系型数据库的工作原理。而对于经验...

    MySQL5.7学习笔记 完整版PDF

    《MySQL5.7学习笔记》将从MySQL5.7的安装、配置、使用等方面进行详细介绍,帮助读者快速掌握MySQL5.7的使用技巧。首先,我们将介绍MySQL5.7的安装方法,包括Windows和Linux平台的安装步骤。然后,我们将讲解MySQL5.7...

    mysql进阶版笔记总结

    事务和并发控制:MySQL支持ACID特性的事务,并提供了各种并发控制机制,如行级锁定、多版本并发控制(MVCC)等,确保数据的一致性和并发性。 安全性和权限管理:MySQL提供了强大的安全功能,包括用户认证、访问

    MySQL学习笔记.docx

    比较全面的mysql学习笔记,如: /* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限验证登录MySQL */ mysqld --skip-grant-tables -- 修改root密码 ...

    Mysql权限管理grant命令使笔记

    MySQL 赋予用户权限命令的简单格式可概括为: 代码如下:grant 权限 on 数据库对象 to 用户 [identified by ‘密码’] 最常用的,弄主从同步的时候,给从库的slave用户设置拥有所有权限,权限all仅允许其从192.168....

    mysql快速入门学习笔记

    mysql数据库的常用命令操作 启动、关闭数据库 从命令行查询数据库 数据库和表的基本操作 权限管理 用户管理

    MySQL笔记-mysql权限授权及创建用户

    MySQL创建用户的方式: 1. insert into user; 2. create user; 3. grant all privileges on *.* to ‘xxx’@’xxx’ identified by ‘xxxxx’ 演示如下: 查看user表目前存在的用户: select user, host,passowrd...

    mysql5 培训 PPT beta1

    从数据库原理的讲解,到MySQL的安装、配置、标准SQL的DML、DDL、DCL、高级查询、数据库设计、表约束、PowerDesigner12.5的使用、三大范式、索引、视图、存储过程和函数、触发器,MySQL权限原理及管理、数据的备份与...

    一千行的MySQL学习笔记汇总

    /* 跳过权限验证登录MySQL */ mysqld --skip-grant-tables -- 修改root密码 密码加密函数password() update mysql.user set password=password('root'); SHOW PROCESSLIST -- 显示哪些线程正在运行 SHOW VARIABLES -...

    MySQL高级学习笔记(三):Mysql逻辑架构介绍、mysql存储引擎详解

    Mysql逻辑架构介绍总体概览 和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和...parser:查询事物、对象的权限

    非科班出身程序员刷题-mysql:mysql笔记

    跳过权限验证登录MySQL */ mysqld --skip-grant-tables -- 修改root密码 密码加密函数password() update mysql.user set password=password('root'); SHOW PROCESSLIST -- 显示哪些线程正在运行 SHOW VARIABLES -- /...

    mysql基础补充2-用户登录和权限问题

    mysql基础补充2-用户登录和权限问题-详细笔记文档总结

    mysql学习笔记-数据库概述、使用、sql编写

    适合初学者,刚刚接触数据库的,内容比较细化,课上学习笔记,整理给学生用的; 主要内容:数据库介绍、数据库的创建、表的创建、表的关系、约束、权限、sql语句的编写,单表及多表

    MySQL注入笔记

    MYSQL注入 select * from user_t where usr = '$username' 盲注 判断是否有注入 admin‘ and 1=’1 返回正常 admin’ and 1=’2 返回错误 表明存在注入 判断数据库系统 and (select count(*) from sysobjects)>0 ...

    狂神说上课笔记未删减 Java基础到技术升级

    29、SpringSecurity权限控制 30、整合Dubbo+Zookeeper 31、Shiro 32、SpringCloudNetflix-H版 33、JVM探究 34、JUC精讲 35、Git 36、Linux使用 37、Redis精讲 38、ElasticSearch 39、ActiveMQ 40、Docker上 41...

    django,mysql,全栈 搭建的web.seesion,cookie权限

    seesion,cookie权限,时常设置。搭建环境python3.7.8 django,mysql全栈web搭建的云笔记项目

    狂神说Java 笔记,java入门,docker ,spring 全家桶,redis , mysql , vue , javascript ,htm5, css

    29、SpringSecurity权限控制.pdf 30、整合Dubbo+Zookeeper.pdf 31、Shiro.pdf 32、SpringCloudNetflix-H版.pdf 33、JVM探究.pdf 34、JUC精讲.pdf 35、Git.pdf 36、Linux使用.pdf 37、Redis精讲.pdf 38、...

Global site tag (gtag.js) - Google Analytics