Importing large sql file into MySQL database
The easiest way to import an .sql file into MySQL database is use phpMyAdmin web interface.
- Login into phpMyAdmin control panel
- Select your database
- Click on Import tab
- Select your .sql file, click Go and you are done
Problem with this is that PHP configuration normally limits size of files you can upload. There should be a notice on phpMyAdmin Import tab telling what's the maximum file size you can upload. If you exceed this limit you will get an error similar to:
You probably tried to upload too large file. Please refer to documentation for ways to workaround this limit.
No data was received to import. Either no file name was submitted, or the file size exceeded the maximum size permitted by your PHP configuration.
You have a few options to overcome this limitation:
Option 1 - Compress SQL file
Compress you .sql file using zip, gzip or bzip2 method. SQL files basically are plain text files so they compress quite well. If you are still exceeding the limit use one of the other options.
Option 2 - Increase PHP file size limit
Open your php.ini file. If you not sure where your php.ini is located, check here.
Find following lines
and increase values to required size in MB. E.g.
post_max_size = 10M
upload_max_filesize = 10M
Save the file and restart apache:
After import is completed you may want to restore original values.
Option 3 - use mysql command in terminal
You can bypass phpMyAdmin altogether and do the import via terminal.
Upload your sql file to the web server and run flowing command in terminal:
mysql -u <username> -p <database> < /path/file.sql
<username> - your MySQL username. e.g. root
<database> - database you are importing to
/path/file.sql - full path to your .sql file
It will prompt you for your MySQL password and complete the import.
Tested on Ubuntu web server