Как я могу удалить базу данных с # в имени? Вот так: # mysql50 # mysql.backup
Я не знаю, кто это мог создать, но это случилось. Когда я пробую DROP DATABASE name, я получаю ошибку:
ОШИБКА 1102 (42000): неправильное имя базы данных.
Спасибо за помощь.
Возможно, у вас есть скрытая папка в каталоге данных. Пожалуйста, выполните ls -larth и удалите каталог mysql.backup.
По умолчанию любые папки внутри каталогов данных mysql будут считываться как база данных и отображаться в «показать базы данных».
Вы всегда должны избегать имен баз данных, используя обратные кавычки, по крайней мере, в случае сомнений.
DROP DATABASE `#mysql50#mysql.backup`
Если механизм хранения базы данных - MYISAM, просто остановите сервер базы данных и удалите каталог, названный в честь вашей базы данных, в вашем каталоге данных. (дефолт var/lib/mysql
)
Любой каталог в каталоге данных MySQL рассматривается MySQL как база данных. Скорее всего, у вас есть выделенная точка монтирования для / var / lib / mysql с файловой системой ext {4,3,2} и присутствующим каталогом "lost + found" по умолчанию (каталог lost + found используется инструментами проверки файловой системы (fsck)). Вы можете сказать MySQL рассматривать этот каталог как каталог, а не базу данных с помощью ignore_db_dir вариант в my.cnf:
ignore_db_dir=lost+found
В вашем конкретном случае (# mysql50 # mysql.backup) это будет:
ignore_db_dir=mysql.backup
Что вы можете попробовать, так это изменить имя базы данных, изменив имя ее каталога данных, а затем отбросить базу данных или просто удалить каталог, если хотите, и база данных также будет удалена.
Может быть, вы были в другом режиме SQL, когда создавалась эта таблица? Подобные имена баз данных можно было бы использовать на разных серверах SQL. Вы можете попробовать переключить MySQL в другой режим SQL, как описано Вот а затем попробуйте уронить стол.
Если это не сработает, я бы также рекомендовал удалить файлы базы данных.
У меня была такая же проблема. Я обнаружил следующие проблемы. В моей папке / var / lib / mysql / были такие элементы:
._cache_block.frm
._cache_block.ibd
._ctools_css_cache.frm
._ctools_css_cache.ibd
._field_revision_field_slide_show_image.frm
._field_revision_field_slide_show_image.ibd
._field_revision_field_tags.frm
._field_revision_field_tags.ibd
._taxonomy_vocabulary.frm
._taxonomy_vocabulary.ibd
Я их удалил. Затем я смог правильно запустить свои команды MySQL (в данном случае mysqldump).
Для CentOS 7 смените каталог на /var/lib/mysql
cd /var/lib/mysql
sudo rm -R .mysql.backup