A database dump can exceed phpMyAdmin’s upload, memory or execution limits even when the database itself is supported. Choose an import method that preserves the dump’s intended session and transaction behaviour instead of repeatedly submitting a partially completed file.
IN THIS ARTICLE
Information to have ready
Inspect the dump size and instructions, back up the destination and identify whether it contains destructive statements. Use an empty destination for a normal migration unless the application explicitly supports merging.
01 Choose a safe method for a database dump too large for phpMyAdmin
- Check the size limit shown on phpMyAdmin’s Import screen and whether a supported compressed SQL upload fits within the service’s limits.
- If the browser method remains unsuitable, ask support about an approved server-side import or use authorised shell access with the correct database client.
- Store the dump outside the public document root and use a password prompt or protected credential mechanism rather than putting the database password in shell history.
- Run the complete trusted import through the chosen method and capture its first error and final status. Keep scripts that depend on temporary tables or one transaction in one session.
- Validate table counts, representative records and application behaviour, then securely remove the temporary server dump.
02 Example: import one trusted SQL file from an authorised terminal
Use this pattern only after confirming shell access, the database client and the intended destination. Replace every uppercase placeholder with the values supplied for your account. Inspect the dump first, including any database-selection or destructive statements, and use the planned empty destination for a normal migration.
mysql --host=DB_HOST --user=CPANEL_USER_dbuser --password CPANEL_USER_import < /home/CPANEL_USER/private/migration.sql
The --password option without a value asks for the password rather than recording it in the command. The entire SQL file is submitted through one client session. Use the client and connection-security settings required by the server; this example does not override them.
Do not add --force to bypass import errors. Record the first error, because earlier statements may already have committed. After completion, compare expected tables and representative data, test the application against the correct database, and remove the temporary dump through your normal file-management process.
Confirm the expected result
The destination should match the expected data and character encoding. Confirm the application points to the imported database before opening it to users.
Troubleshoot unexpected results
If an import stops, determine what committed before retrying. Splitting arbitrary SQL at a file-size boundary can break statements, transactions and dependencies. Restore or recreate the intended clean destination through the planned recovery path.
Should I raise every PHP limit?
No. Some limits are provider-controlled, and increasing them may still leave a fragile browser import. A supported server-side process is often more reliable for a large or session-dependent SQL file.