ERROR 1 (HY000): Can't create/write to file '/data

ERROR 1 (HY000): Can't create/write to file '/data-LMLPHP
杨凯悦0人评论
 

使用非DBA用户进行load data 操作,发现报错。

MariaDB [temp_archive]> select * from t1 into outfile '/data/test.sql';

ERROR 1 (HY000): Can't create/write to file '/data/test.sql' (Errcode: 13 "Permission denied")

提示报错。

报错原因权限不足。

分析:

   权限有系统权限和数据库权限。

/data 目录权限 chown -R mysql:mysql /data/

实验1:操作系统权限

创建hy用户,使用root账户操作,文件保存目录/data/:

useradd -u 1100 hy

password hy

su hy

[hy@XHY005116 /]$ mysql

MariaDB [(none)]> use test

Database changed

MariaDB [test]> select * from t111 into outfile '/data/t111.sql';

Query OK, 1 row affected (0.00 sec)

MariaDB [test]> create table t112 like t111;

Query OK, 0 rows affected (0.08 sec)

MariaDB [test]> load data infile '/data/t111.sql' into table t112;

Query OK, 1 row affected (0.02 sec)                  

Records: 1  Deleted: 0  Skipped: 0  Warnings: 0

  • 文件保存目录/

MariaDB [test]> select * from t111 into outfile '/t111.sql';

ERROR 1 (HY000): Can't create/write to file '/t111.sql' (Errcode: 13 "Permission denied")

  • 报错:权限不足,此处可以分析出系统权限不足,导致报错。

实验2:

hy用户登录ya,ya账户读写权限,文件保存目录 /data/。

MariaDB [test]> select * from t100 into outfile '/data/t100.sql';

ERROR 1045 (28000): Access denied for user 'ya'@'192.168.%' (using password: YES)

  • 使用root用户导出的文件,使用ya用户导入

MariaDB [test]> load data infile '/data/t100.sql' into table t101;

ERROR 1045 (28000): Access denied for user 'ya'@'192.168.%' (using password: YES)

均报错:判断是数据库权限问题。

尝试授权file权限。

MariaDB [(none)]> grant file on *.* to 'ya'@'192.168.%';

MariaDB [(none)]> flush privileges;

[hy@XHY005116 data]$ mysql -uya -p123456 -h192.168.5.116

MariaDB [test]> select * from t101 into outfile '/data/t101.sql';

MariaDB [test]> load data infile '/data/t101.sql' into table t102;

Query OK, 6 rows affected (0.02 sec)          


成功:

文件保存目录:/

MariaDB [test]> select * from t101 into outfile '/t101.sql';

ERROR 1 (HY000): Can't create/write to file '/t101.sql' (Errcode: 13 "Permission denied

报错:权限问题。

  • 结合:上两个实验可以得出“(Errcode: 13 "Permission denied” 错误是和操作系统目录有关。

对应mysql的权限

ERROR 1 (HY000): Can't create/write to file '/data-LMLPHP

©著作权归作者所有:来自51CTO博客作者杨凯悦的原创作品,如需转载,请注明出处,否则将追究法律责任
01-24 20:40