Ошибка в mysql Could not find a valid tablespace file for 'database/#sql-*'
Tablespace open failed for '"database"."#sql-*"', ignored.

Как я понял - есть много вариантов возникновения похожих ошибок, и не всегда это можно решить. 
Опишу свой вариант.

Изначальные условия следующие:
1. у нас mysql (5.5.5-10.1.48-MariaDB), таблицы в формате innidb, отдельный файл для каждой таблицы ( innodb_file_per_table )
2. начали оптимизацию или какое-то другое изменение таблицы, и сервер по какой-то причине упал, 
   при этом остались временные файлы в папке с базой.
3. удалили вручную эти файлы
4. перезагрузили сервер
5. в логах получили эту ошибку

Если грубо описать то, что произошло (это мое представление, возможно не точное, но смысл сохранен):
При оптимизации, изменении структуры таблицы или индексов - mysql создает временную таблицу и пишет в нее данные.
В папке с базой создаются 2 файла: #sql-[...].ibd (непосредственно данные) и #sql-[...].frm (структура таблицы)
Название ibd файла может отличаться от frm, например, #sql-5407_6f9.frm и #sql-ib4176-39791858.ibd
При этом записи об этих таблицах есть в служебной таблице mysql (information_schema)
После окончания - временные таблицы должны стать основными.
Но тк произошла ошибка - у нас остались записи в служебной таблице и мы удалили эти файлы вручную.
Как вариант - файлы остались и занимают место.

Как исправить 
(мой вариант решения, возможно не подойдет в каком-то случае, 
и если повторять - только на свой страх и риск, с предварительным бэкапом!):

Вариант 1: файлы остались.
1. переименовываем файл *.frm в соответствии с названием файла ibd. 
  (должно получится что-то вроде #sql-ib4176-39791858.ibd #sql-ib4176-39791858.frm - название смотри в логе с ошибкой)
2. в консоли или через интерфейс выполнения запросов переходим в свою базу (use database;)
  и выполняем запрос: drop table `#mysql50##sql-ib4176-39791858`;
3. перезагружаем сервер mysqlб ошибка должна уйти

Вариант 2: файлы удалили
1. копируем .frm файл из исходной таблицы с названием #sql-ib4176-39791858.frm (точное название смотри в логах).
2. выполняем пункты 2-3 из первого варианта

Дополнительные материалы:
https://mariadb.com/resources/blog/get-rid-of-orphaned-innodb-temporary-tables-the-right-way/
https://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting-datadict.html