如何导入大文件数据到MySQL数据库的教程
要导入大文件数据表到MySQL,可以使用`LOAD DATA INFILE`命令。首先,确保你的MySQL服务器允许使用`LOAD DATA INFILE`,可以通过在`my.cnf`文件中设置`local_infile=1`来实现。然后,将大文件分割成多个小文件,每个文件的大小不超过`max_allowed_packet`的值。接下来,使用`LOAD DATA INFILE`命令逐个导入小文件到数据表中。例如: ```sql LOAD DATA INFILE 'data/part-00001.csv' INTO TABLE your_table FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY ' ' IGNORE 1 ROWS; ``` 最后,删除分割后的小文件。
MySQL与PHP配合使用的比较多,一般是采用phpmyadmin来进行管理数据库。虽然phpmyadmin很方便,但也有弊端,比如上传文件大小限制,在执行耗时较长的任务时,经常网页超时。比如前面讲过的Sqlite Studio导出数据表到MySQL中文中的教程使用大文件就会出现网页超时未响应的问题,为了解决MySQL大文件数据表导入问题,我又水一篇教程。
首先使用终端连接上服务器,通过命令登录上MySQL。
mysql-uroot-p
终端执行如上命令登录MySQL,然后在提示MySQL登录成功后,(命令行变成mysql>开头即表示登录成功)执行选择数据库命令,如下。
usexxx
xxx代表你的数据库名称。
注意:宝塔的MySQL登录必须使用数据库的root用户密码,因为上面我给的命令是登录root用户,使用其它用户请修改root即可。
然后上传你要导入的数据库sql文件,随便上传到哪里,只要你知道路径。
然后回到终端中,输入如下命令执行导入。
source/www/backup/database/xxx.sql
这时可以看到很多Query OK的提示信息,表示导入成功。这下再大的文件也不怕超时了!