问题: mysql将table导出文件时无法写文件
mysql> use CommutingData;
mysql> SELECT * INTO OUTFILE '/home/rach/countybasin.txt' FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' FROM countybasin_US;
ERROR 1 (HY000): Can't create/write to file '/home/rach/countybasin.txt' (Errcode: 13)
原因: 貌似是权限问题,mysql的文档上说“The SELECT ... INTO OUTFILE 'file_name' form of SELECT writes the
selected rows to a file. The file is created on the server host, so you
must have the FILE privilege to use this syntax.” 所以这个操作是按照mysql自己的daemon进行的,而不按照是用户的身份。
解决:1. 最简单的方法: 改路径,比如 /temp/countybasin.txt 然后mv走 (有时候这个方法也出一样的问题,此时请检查读写权限设置,参考http://www.cyberciti.biz/faq/mysqld-innodb-error-unable-to-create-temporary-file/)
2. 修改/etc/apparmor.d/usr.sbin.mysqld文件,在最后加入 /home/rach w, 但是我试了貌似也不行,不知道是不是没有重启的缘故
3. 此法是google来的,没有试成功,把select语句的outfile选项都删掉,然后存成.sql文件,执行
mysql -u myuser -ppassword -h remotehost mydb < myquery.sql >
my_output_file.txt 有试验成的请具体给个例子,谢谢
分享到:
相关推荐
在MySQL中,SELECT… INTO OUTFILE语句是一个非常实用的功能,用于将查询结果直接导出到服务器主机上的文件。这个语句将数据以特定的格式保存,方便进行数据备份、迁移或者进一步处理。以下是关于使用SELECT… INTO ...
INTO OUTFILE`语句是MySQL提供的一种便捷方式,允许用户将查询结果直接导出到服务器主机上的文本文件。这个功能对于数据库管理员和数据分析师来说非常实用,因为它简化了数据提取的过程。 使用`SELECT... INTO ...
MySQL提供了多个与文件操作相关的内置函数,其中包括`INTO DUMPFILE()`、`INTO OUTFILE()`和`LOAD_FILE()`。这些函数在SQL注入攻击中扮演着关键角色。本文将详细介绍这三个函数的使用方式及其特点。 #### 读写文件...
然而,直接使用`SELECT INTO OUTFILE`可能会遇到文件已存在导致的错误(例如,`ERROR 1086 (HY000): File '/tmp/t1.txt' already exists`),这是因为MySQL不允许覆盖现有文件。 #### 解决文件已存在的策略 为了...
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement ``` 这是因为MySQL默认对导出目录有限制,只能写入特定的目录。可以通过以下步骤解决...
id=1 union select 1,2,3 into outfile 'E:/path/to/evil.php',尝试将数据写入文件系统。 **方法1:Union Select写入** 这是最常见且最直观的方法,适用于联合注入。攻击者通过`UNION SELECT`结合`INTO OUTFILE`将...
into outfile [逻辑] xtrabackup [物理] snapshot [物理] tar打包备份 [物理] MySQL4 MySQL复制技术 MySQL读写分离 MySQL Proxy Atlas Amoeba MySQL高可用MHA 项目拓扑 Yum仓库配置 MySQL主备复制 ...
SELECT * INTO OUTFILE '/test.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM table_name; ``` 如果在导出后发现中文乱码,通常是由于默认导出的CSV文件采用的是非...
在MySQL数据库操作中,有时我们在尝试导出数据时可能会遇到一个错误提示:“ERROR 1290 (HY000): The MySQL server is running with the –secure-file-priv option so it cannot execute this statement.” 这个...
1. 使用 `SELECT INTO OUTFILE` 语句: 这个命令允许用户将表中的数据导出到文本文件。例如,要将名为`driver`的表内容导出到`a.txt`,在MySQL命令行中执行: ``` mysql> use phptest; Database Changed mysql>...
通过SELECT INTO OUTFILE导出数据时,可以指定字段分隔符、行分隔符、字符包围符和转义字符等参数,以便生成的文件符合特定的需求。例如,可以指定字段分割字符为逗号、包围字符为双引号、行分隔符为回车换行符等。 ...
其中一种方法是使用 SELECT INTO OUTFILE 语句将数据备份到一个文件中。这种方法可以将选择的行写入到一个文件中,文件在服务器主机上被创建,并且不能是已经存在的。 SELECT INTO OUTFILE 语句 SELECT INTO ...
1. **使用 `SELECT INTO OUTFILE` 语句** - **基本语法**:`SELECT * FROM table INTO OUTFILE 'filename'` - **权限要求**:执行此命令的用户需要具有`FILE`权限。 - **数据格式**:默认情况下,字段间以制表符...
`SELECT INTO OUTFILE`是MySQL提供的一种简单有效的数据导出方法,可以直接将查询结果写入到指定的文件中。例如: ```sql USE phptest; SELECT * FROM driver INTO OUTFILE 'a.txt'; ``` 执行上述SQL语句后,查询...
`SELECT * INTO OUTFILE '/tmp/test.xls' FROM tb1 WHERE 1 ORDER BY id DESC LIMIT 0, 50;` 这将在 MySQL 的 `/tmp` 目录下生成一个名为 `test.xls` 的文件。然而,这个方法存在一些限制。如果你的 shell 登录账户...
本文将详细介绍 MySQL 中数据导入导出的方法,包括 `SELECT INTO OUTFILE` 和 `LOAD DATA INFILE` 的使用,并提供一些实用技巧。 #### 二、数据导出:SELECT INTO OUTFILE ##### 2.1 基本概念 `SELECT INTO ...
- 如果导出过程中出现错误提示 `ERROR 13 (HY000): Can't get stat of 'XXXX.xxx' (Errcode: 13)`,这通常意味着文件路径不正确或不可访问。解决办法是确保文件位于 MySQL 的 `data` 目录下。 ##### INFILE 使用 ...
INTO OUTFILE`将查询结果导出到文件,然后用`LOAD DATA INFILE`导入。 检索表中的信息是数据库操作的核心。`SELECT`语句用于获取数据,它可以按需求选择所有数据、特定行、特定列,并对结果进行排序。基本的`...
1. **连接MySQL数据库**:使用MySQL客户端工具,如MySQL Workbench、phpMyAdmin或命令行界面,连接到你的MySQL服务器。确保你拥有足够的权限来执行SELECT和FILE权限,这是导出数据所必需的。 2. **编写SELECT语句**...