Mel*_*lon 7 mysql sql database
我在我的Ubuntu机器上运行MySQL.我检查了文件,它显示了我的数据库临时目录:/etc/mysql/my.cnf
...
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
...
Run Code Online (Sandbox Code Playgroud)
如图所示,我的MySQL服务器临时目录是/tmp.
我有一个students.dat文件,这个文件的内容如下:
...
30 kate name
31 John name
32 Bill name
33 Job name
...
Run Code Online (Sandbox Code Playgroud)
我将上面的students.dat文件复制到/tmp目录.然后,我运行以下命令将数据从students.dat文件加载到我的数据库中的students表:
LOAD DATA INFILE '/tmp/students.dat'
INTO TABLE school_db.students
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
(student_id, name, attribute)
Run Code Online (Sandbox Code Playgroud)
但是我在MySQL控制台中收到了错误消息:
ERROR 29 (HY000): File '/tmp/students.dat' not found (Errcode: 13)
Run Code Online (Sandbox Code Playgroud)
为什么MySQL不能找到该students.dat文件,但该文件是mysql的临时目录下?
PS
该学生表就像以下(目前已经有4个表中的记录之前运行LOAD DATA INFILE...查询):
mysql> describe students;
+-------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+--------------+------+-----+---------+-------+
| student_id | int(11) | YES | | NULL | |
| name | varchar(255) | YES | MUL | NULL | |
| attribute | varchar(12) | YES | MUL | NULL | |
| teacher_id | int(11) | YES | | NULL | |
+-------------------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)