Mysql - descarta o banco de dados com # no nome

3

Como posso excluir o banco de dados com # no nome? Assim: # mysql50 # mysql.backup

Eu não sei quem é possível para criá-lo, mas aconteceu. Quando eu tento o nome DROP DATABASE, tenho erro:

ERRO 1102 (42000): nome do banco de dados incorreto

Obrigado por ajudar.

    
por Rafał Kamiński 30.10.2012 / 11:35

6 respostas

4

Você pode ter uma pasta oculta no diretório de dados. Por favor, faça um ls -larth e o diretório remove mysql.backup.

Por padrão, quaisquer pastas dentro dos diretórios de dados do mysql serão lidas como banco de dados e serão mostradas em "show databases".

    
por 30.01.2014 / 12:33
3

Você deve sempre escapar dos nomes dos bancos de dados usando aspas backtick, pelo menos em caso de dúvida.

DROP DATABASE '#mysql50#mysql.backup'
    
por 30.10.2012 / 11:50
1

Se o mecanismo de armazenamento do banco de dados for MYISAM, basta parar o servidor do banco de dados e remover o diretório com o nome do seu banco de dados no diretório de dados. (padrão var/lib/mysql )

    
por 30.10.2012 / 13:25
1

Qualquer diretório no MySQL datadir é considerado como banco de dados pelo MySQL. O mais provável é que você tenha um ponto de montagem dedicado para / var / lib / mysql com o sistema de arquivos ext {4,3,2} e o diretório padrão 'lost + found' presente (o diretório lost + found é usado pelas ferramentas de verificação do sistema de arquivos (fsck)). Você pode dizer que o MySQL trata este diretório como diretório e não como banco de dados com a ajuda de ignore_db_dir em my.cnf:

ignore_db_dir=lost+found

Em seu caso particular (# mysql50 # mysql.backup), seria:

ignore_db_dir=mysql.backup
    
por 16.06.2016 / 17:28
0

O que você pode tentar é alterar o nome do banco de dados alterando o nome do diretório de dados e, em seguida, descartar o banco de dados ou excluir diretamente o diretório, se desejar, e o banco de dados também será excluído.

    
por 30.10.2012 / 12:04
0

Será que você estava em um modo SQL diferente quando essa tabela foi criada? Nomes de banco de dados como este seriam possíveis em diferentes servidores SQL. O que você pode tentar é mudar o MySQL para um modo SQL diferente, conforme descrito aqui e tente derrubar a mesa.

Se isso não funcionar, recomendo também excluir os arquivos do banco de dados.

    
por 30.12.2013 / 14:32