MySQL users often encounter errors when importing Excel sheets, text files, JSON objects, or any other data into the MySQL database. Such errors prevent them from importing the data into the database. Some common errors reported by users when importing data into MySQL database are:
- ERROR 1044: Access denied for user 'username1'@'localhost' to database 'username2_database'
- ERROR 1049: Unknown database 'username_database'
- ERROR 1227: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
- Error 1064: Parsing error
- MYSQL ERROR 1046: No database selected
The above errors can occur due to different reasons. Let's understand the reasons behind these import errors and see how to troubleshoot these errors.
Causes behind the Import Errors in MySQL Server
You may get errors when importing data into MySQL database due to varied reasons. Here are some possible reasons that can lead to import errors in MySQL:
- The file that you are trying to import contains queries, having incorrect database table or user name.
- The file you are trying to import does not exist.
- You are using incorrect queries.
- There are SQL syntax issues.
- The file you are trying to import is corrupted or in an unsupported format.
- The import file contains SQL queries that require SUPER privileges.
- The import file is too large.
Methods to Resolve Import Errors in MySQL Server
Here are some solutions you can try to resolve the import errors in MySQL. However, before proceeding, ensure that you have selected the correct import file and the import file is in a compatible format.
1 - Check and Provide Permissions to User Account
You can encounter errors while importing a file in MySQL if you don't have sufficient permissions. You can check whether you have permissions to CREATE and SELECT the database. To check the permissions in MySQL, you can run the SHOW GRANTS statement. This statement displays the roles and privileges assigned to the MySQL user account.
If you do not have permissions to SELECT, INSERT, UPDATE, and CREATE the database, use the GRANT statement to grant the permissions.
2 - Check and Fix the Character Encoding Issue
The file you're importing into the MySQL database should match the character encoding settings of the database. The character encoding mismatch can cause errors, like mysqldump file error 1064(42000). To resolve the issue, you can add --default-character-set=utf8 in your dump command (see the below example).
Setting the default character to UTF ensures that MySQL will accept all the incoming data encoded in UTF-7. This will help in preventing character encoding mismatch between import file and MySQL database.
3 - Check and Provide SUPER Privileges
When importing SQL file into MySQL database, you can encounter the ""ERROR 1227: Access denied; you need (at least one of) the SUPER privilege(s) for this operation." It usually occurs if your import file contains statements that require SUPER privileges, like SET GLOBAL, SET PERSISTS, CREATE DEFINER, etc. To resolve this, open the import file, check the statements, and delete SUPER privileges statements. Then, try to import the file to check whether the error is fixed.
4 - Regenerate PAR URL
You can encounter the error ""Failed opening object," if the PAR URL defined in the import file expires or is in an incorrect format. To troubleshoot this import error, you can use the MySQL Shell to regenerate the NEW PAR URLs.
5 - Increase Memory Limit for MySQL
The import errors in MySQL can also occur when importing a large file. To resolve this, check the dump file (import file) and remove the duplicate tables (if any). You can also try to increase the memory limit for MySQL. It allows you to modify the default configuration to run MySQL on system with less memory. You can also reconfigure the buffer pool size of MySQL.
6 - Repair MySQL Database
The MySQL import errors can occur due to corruption in the database in which you are trying to import the data. In such a case, you can repair the MySQL database to resolve the issue. You can repair MySQL database using the mysqlcheck statement. It helps to check, repair, optimize, and analyze tables in the MySQL database. First, check the database for corruption errors. Here's the command:
If the mysqlcheck statement displays errors, use the below command to repair the MySQL database:
--repair
--databases db_nameAlternatively, you can use a third-party MySQL repair tool, such as Stellar Repair to MySQL to repair the MySQL database quickly. This tool can easily repair corrupt InnoDB and MyISAM tables in MySQL database. It can recover keys, tables, data types, views, and other objects from the corrupt MySQL database with complete integrity. It helps resolve errors that occur due to inconsistencies within the database. The tool supports both Windows and Linux operating systems.
Conclusion
Above, we have mentioned some common import errors that you can encounter while importing data into MySQL database. You can follow the methods discussed above to troubleshoot the error. If corruption in the database file is the cause behind the error, then the best option to repair the MySQL database is by using Stellar Repair for MySQL. It is an advanced tool to repair corrupt and damaged MySQL databases. It can fix issues within the database structure and file.