使用非DBA用戶進行load data 操做,發現報錯。mysql
MariaDB [temp_archive]> select * from t1 into outfile '/data/test.sql';sql
ERROR 1 (HY000): Can't create/write to file '/data/test.sql' (Errcode: 13 "Permission denied")數據庫
提示報錯。spa
報錯緣由權限不足。操作系統
分析:3d
權限有系統權限和數據庫權限。code
/data 目錄權限 chown -R mysql:mysql /data/blog
實驗1:操做系統權限ip
建立hy用戶,使用root帳戶操做,文件保存目錄/data/:get
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的權限