Question

I have a number of error messages like this in my error.log file referencing different files that can't be opened when I start my mariadb 10.4.8 server:

2019-09-30 17:38:19 0 [ERROR] InnoDB: Cannot open datafile for read-only: '/tmp/#sql50b_8808_1.ibd' OS error: 71
2019-09-30 17:38:19 0 [ERROR] InnoDB: Cannot read first page of './tmp/#sql50b_8808_1.ibd' I/O error
2019-09-30 17:38:19 0 [Note] InnoDB: Cannot read first page in datafile: ./tmp/#sql50b_8808_1.ibd, Space ID:18446744073709551615, Flags: 0
2019-09-30 17:38:19 0 [ERROR] InnoDB: Operating system error number 2 in a file operation.
2019-09-30 17:38:19 0 [ERROR] InnoDB: The error means the system cannot find the path specified.
2019-09-30 17:38:19 0 [ERROR] InnoDB: If you are installing InnoDB, remember that you must create directories yourself, InnoDB does not create them.
2019-09-30 17:38:19 0 [ERROR] InnoDB: Could not find a valid tablespace file for ``tmp`.`#sql50b_8808_1``. Please refer to https://mariadb.com/kb/en/innodb-data-dictionary-troubleshooting/ for how to resolve the issue.
2019-09-30 17:38:19 0 [Warning] InnoDB: Ignoring tablespace for `tmp`.`#sql50b_8808_1` because it could not be opened.

I don't have a database named tmp, so the instructions for data dictionary troubleshooting haven't been helpful.

I can't find any files that start with #sql anywhere in my file system, but

SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES
WHERE NAME LIKE '%#sql%';

returns 65 rows, including one associated with the file described above. Is there some way to clean this up so MariaDB doesn't try to open these non-existent files?

Was it helpful?

Solution

I was able to fix this using the brute force method of backing up my databases, removing and reinstalling MariaDB, and restoring my databases.

Licensed under: CC-BY-SA with attribution
Not affiliated with dba.stackexchange
scroll top