mysql_load_data及权限管理
————————————————————————————————————————
添加权限:
The only priv_type values you can specify for a table are SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, GRANT OPTION, INDEX, and ALTER.
"FILE" is only assigned as a GLOBAL permission
" The EXECUTION, FILE, PROCESS, RELOAD, REPLICATION CLIENT, REPLICATION SLAVE, SHOW DATABASES, SHUTDOWN, and SUPER privileges are administrative privileges that can only be granted globally (using ON *.* syntax)."
原来FILE这种权限属于管理的权限,要赋予用户时,必须要用*.*。(不可针对库和表)
root@localhost:mysql.sock[(none)] 15:31:33>GRANT FILE ON *.* TO hx@localhost;
Query OK, 0 rows affected (0.00 sec)
问题解决。
————————————————————————————————————————
今天在使用mysql的LOAD DATA LOCAL INFILE 语法插入文件的时候,提示:ERROR 1148 (42000): The used command is not allowed with this MySQL version
原因是;如果编译安装mysql时没有指定–enable-local-infile,那么在使用上述命令时会报以上的错误:
解决方法:
解决方式有两种,一是重新编译安装加上上面的参数,而是直接用命令行执行,如下:
mysql -uroot -proot mydb_name --local-infile=1 -e 'load data local infile "D:/ab.txt" into table mytbl(name,age)'
————————————————————————————————————————
————————————————————————————————————————
MYSQL中的各种权限
对于GRANT和REVOKE语句,priv_type可以被指定为以下任何一种:
权限 |
意义 |
ALL [PRIVILEGES] |
设置除GRANT OPTION之外的所有简单权限 |
ALTER |
允许使用ALTER TABLE |
ALTER ROUTINE |
更改或取消已存储的子程序 |
CREATE |
允许使用CREATE TABLE |
CREATE ROUTINE |
创建已存储的子程序 |
CREATE TEMPORARY TABLES |
允许使用CREATE TEMPORARY TABLE |
CREATE USER |
允许使用CREATE USER, DROP USER, RENAME USER和REVOKE ALL PRIVILEGES。 |
CREATE VIEW |
允许使用CREATE VIEW |
DELETE |
允许使用DELETE |
DROP |
允许使用DROP TABLE |
EXECUTE |
允许用户运行已存储的子程序 |
FILE |
允许使用SELECT...INTO OUTFILE和LOAD DATA INFILE |
INDEX |
允许使用CREATE INDEX和DROP INDEX |
INSERT |
允许使用INSERT |
LOCK TABLES |
允许对您拥有SELECT权限的表使用LOCK TABLES |
PROCESS |
允许使用SHOW FULL PROCESSLIST |
REFERENCES |
未被实施 |
RELOAD |
允许使用FLUSH |
REPLICATION CLIENT |
允许用户询问从属服务器或主服务器的地址 |
REPLICATION SLAVE |
用于复制型从属服务器(从主服务器中读取二进制日志事件) |
SELECT |
允许使用SELECT |
SHOW DATABASES |
SHOW DATABASES显示所有数据库 |
SHOW VIEW |
允许使用SHOW CREATE VIEW |
SHUTDOWN |
允许使用mysqladmin shutdown |
SUPER |
允许使用CHANGE MASTER, KILL, PURGE MASTER LOGS和SET GLOBAL语句,mysqladmin debug命令;允许您连接(一次),即使已达到max_connections。 |
UPDATE |
允许使用UPDATE |
USAGE |
“无权限”的同义词 |
GRANT OPTION |
允许授予权限 |
当从旧版本的MySQL升级时,要使用EXECUTE, CREATE VIEW, SHOW VIEW, CREATE USER, CREATE ROUTINE和ALTER ROUTINE权限
————————————————————————————————————————
授予的权限可以分为多个层级:
· 全局层级
全局权限适用于一个给定服务器中的所有数据库。这些权限存储在mysql.user表中。GRANT ALL ON *.*和REVOKE ALL ON *.*只授予和撤销全局权限。
· 数据库层级
数据库权限适用于一个给定数据库中的所有目标。这些权限存储在mysql.db和mysql.host表中。GRANT ALL ONdb_name.*和REVOKE ALL ON db_name.*只授予和撤销数据库权限。
· 表层级
表权限适用于一个给定表中的所有列。这些权限存储在mysql.talbes_priv表中。GRANT ALL ON db_name.tbl_name和REVOKE ALL ON db_name.tbl_name只授予和撤销表权限。
· 列层级
列权限适用于一个给定表中的单一列。这些权限存储在mysql.columns_priv表中。当使用REVOKE时,您必须指定与被授权列相同的列。
· 子程序层级
CREATE ROUTINE, ALTER ROUTINE, EXECUTE和GRANT权限适用于已存储的子程序。这些权限可以被授予为全局层级和数据库层级。而且,除了CREATE ROUTINE外,这些权限可以被授予为子程序层级,并存储在mysql.procs_priv表中。
当后续目标是一个表、一个已存储的函数或一个已存储的过程时,object_type子句应被指定为TABLE、FUNCTION或PROCEDURE。当从旧版本的MySQL升级时,要使用本子句,您必须升级您的授权表。
————————————————————————————————————————
mysql_load_data及权限管理的更多相关文章
- Android权限管理之RxPermission解决Android 6.0 适配问题
前言: 上篇重点学习了Android 6.0的运行时权限,今天还是围绕着Android 6.0权限适配来总结学习,这里主要介绍一下我们公司解决Android 6.0权限适配的方案:RxJava+RxP ...
- Android权限管理之Android 6.0运行时权限及解决办法
前言: 今天还是围绕着最近面试的一个热门话题Android 6.0权限适配来总结学习,其实Android 6.0权限适配我们公司是在今年5月份才开始做,算是比较晚的吧,不过现在Android 6.0以 ...
- Android权限管理之Permission权限机制及使用
前言: 最近突然喜欢上一句诗:"宠辱不惊,看庭前花开花落:去留无意,望天空云卷云舒." 哈哈~,这个和今天的主题无关,最近只要不学习总觉得生活中少了点什么,所以想着围绕着最近面试过 ...
- SpringMVC+Shiro权限管理【转】
1.权限的简单描述 2.实例表结构及内容及POJO 3.Shiro-pom.xml 4.Shiro-web.xml 5.Shiro-MyShiro-权限认证,登录认证层 6.Shiro-applica ...
- Android6.0运行时权限管理
自从Android6.0发布以来,在权限上做出了很大的变动,不再是之前的只要在manifest设置就可以任意获取权限,而是更加的注重用户的隐私和体验,不会再强迫用户因拒绝不该拥有的权限而导致的无法安装 ...
- Oracle 表空间和用户权限管理
一. 表空间 Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构指的是构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念以及它们之间的关系. 表空间是数据库逻 ...
- [Django]用户权限学习系列之权限管理界面实现
本系列前三章: http://www.cnblogs.com/CQ-LQJ/p/5604331.htmlPermission权限基本操作指令 http://www.cnblogs.com/CQ-LQJ ...
- [Django]用户权限学习系列之设计自有权限管理系统设计思路
若在阅读本片文章遇到权限操作问题,请查看本系列的前两章! http://www.cnblogs.com/CQ-LQJ/p/5609690.html和http://www.cnblogs.com/CQ- ...
- 我的MYSQL学习心得(十三) 权限管理
我的MYSQL学习心得(十三) 权限管理 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) ...
随机推荐
- type="image"提交表单
<input type="image" style="cursor:pointer; ">
- extjs 学习一
环境 : eclipse ext tomcat 6 将下载的extjs 解压后全部 导入到项目中 .使用时 <!-- 1.引入样式 2.引入库文件 ,底层驱动 3. ext-all--&g ...
- 【commons-httpclient】Java中HttpClient工具访问Web请求
注意jar包是: HttpClient工具使用 HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程 ...
- 2018.10.01 NOIP模拟 卡牌游戏(贪心)
传送门 简单贪心题. 然而考试的时候失了智少讨论了一种情况导致gg. 实际上用到了二分图匹配的思想,L每次找到刚好比当前的牌小一点的出出去,看能匹配几个. 如何处理? 我们先考虑第一种比分策略. 我们 ...
- 2018.09.12 poj2376Cleaning Shifts(线段树+简单dp)
传送门 貌似贪心能过啊%%%. 本蒟蒻写的线段树优化dp. 式子很好推啊. f[i]表示覆盖1~i所需的最小代价. 那么显然对于一个区间[li,ri]" role="present ...
- ABP框架 - 缓存( 转)
出处:http://www.cnblogs.com/kid1412/p/5987083.html 文档目录 本节内容: 简介 ICacheManager ICache ITypedCache 配置 实 ...
- spring AbstractRoutingDataSource实现动态数据源切换
使用Spring 提供的 AbstractRoutingDataSource 实现 创建 AbstractRoutingDataSource 实现类,负责保存所有数据源与切换数据源策略:public ...
- dlib安装教程(for linux)
https://blog.csdn.net/LoHiauFung/article/details/78454905 https://www.linuxidc.com/Linux/2017-11/148 ...
- 四则运算 Java 实现 刘丰璨,王翠鸾
四则运算 GitHub仓库 功能实现 [x] 使用 -n 参数控制生成题目的个数,并且根据解空间限制用户设定的范围(如 range == 2 时,用户却要求生成 10000 道题目,这明显不合理) [ ...
- think in java 手记(一)
工作之余,不知道要做些什么.该做的事情都完成的差不多了,想看一下spring的东西,毕竟这些东西用的多.但是又想看一下关于javaee的东西,这个里面的设计模式多.想了一会儿,觉得这些无非都是工具,j ...