InnoDB Error Attempted to open a previously opened tablespace

When receiving the error...

"InnoDB: Error: Attempted to open a previously opened tablespace. Previous tablespace"

 

when running a systemctl status mariadb.service it can often indicate a failed tablespace file. 

 

This can happen if the MySQL server was shut down unexpectedly or if there is a problem with the file system.

 

Check the permissions on the tablespace file. Make sure that the user running MySQL has read and write permissions on the file.
Try restarting MySQL with the innodb_force_recovery parameter set to 1. This will force MySQL to ignore any errors and continue running.
If the error persists, you may need to restore your database from a backup.


Performing the following may also rectify the issue:

  1. Open my.cnf
  2. Look for [mysqld]
  3. Just below [mysqld] insert innodb_force_recovery = 1
  4. Start MySQL Service
  5. Stop MySQL Service
  6. Remove the line from my.cnf (or my.ini for Windows) (innodb_force_recovery = 1)
  7. Start MySQL Service
  8. Run a "tail -f /var/log/mysql/`servername`.log" and watch for further errors. If the tablespace issue reoccurs backup the database, remove the database, remove the files associated it @ /var/log/mysql/username_database* and reimporting it will often correct the .id file(s)

The Previous tablespace part of the message tells you the name of the tablespace that MySQL is trying to open.
The innodb_force_recovery parameter is a setting in the MySQL configuration file that allows you to force MySQL to ignore errors and continue running.

 

 

  • 6 Users Found This Useful

Was this answer helpful?

Related Articles

How do I import into a MariaDB - MySQL database?

import a database with Ultra Web Hosting phpMyAdmin: Log in to your control panel with...

Could not connect to the MariaDB - MySQL database

The error message "Could not connect to the MariaDB" can occur for a number of reasons. Some of...

When trying to connect to MariaDB or MySQL you receive error 2003 Cannot connect to MySQL on xxxxxx on port 3306 10060

The error 2003 "Cannot connect to MySQL on xxxxxx on port 3306 10060" means that the MySQL...

How to Disable XCache for a Domain

On many of our servers xcache is use as part of the php caching mechanism. If you are...

Strict Standards: Non-static method JLoader::register() should not be called statically in

The error message...  Strict Standards: Non-static method JLoader::register() should not be...