Mysql

如何刪除名稱中包含元字元的數據庫

  • July 25, 2018

如何刪除名稱中包含元字元的數據庫。數據庫名稱是#mysql50#lost+found.

我以root使用者身份連接mysql。我試圖像在 shell 命令中那樣放置反斜杠:

MariaDB [(none)]> DROP DATABASE '\#mysql50\#lost\+found' ;
ERROR 1064 (42000): You have an error in your SQL syntax;

它不起作用

使用反引號作為對象名稱;不是反斜杠來轉義單個字元:

mysql> drop database `#really-bad+name`;
Query OK, 0 rows affected (0.00 sec)

對於問題中的特定問題,數據庫#mysql50#lost+found是安裝在(可能)上的文件系統的人工製品,該文件系統/var/lib/mysqllost+found 使用fsck.

所以這個目錄應該通過告訴 MariaDB 忽略它來單獨留下。在/etc/my.cnf或其他類似的地方,添加:

ignore-db-dir=lost+found

並重新啟動數據庫伺服器。

參考:MySQL / MariaDB

引用自:https://unix.stackexchange.com/questions/458446