您好,登录后才能下订单哦!
使用非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 -h292.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的权限
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。