![이름에 메타 문자가 포함된 데이터베이스를 삭제하는 방법](https://linux55.com/image/137530/%EC%9D%B4%EB%A6%84%EC%97%90%20%EB%A9%94%ED%83%80%20%EB%AC%B8%EC%9E%90%EA%B0%80%20%ED%8F%AC%ED%95%A8%EB%90%9C%20%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4%EB%A5%BC%20%EC%82%AD%EC%A0%9C%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
이름에 메타 문자가 포함된 데이터베이스를 삭제하는 방법 데이터베이스 이름은 입니다 #mysql50#lost+found
.
루트 사용자로 mysql에 연결하고 있습니다. 쉘 명령처럼 백슬래시를 추가해 보았습니다.
MariaDB [(none)]> DROP DATABASE '\#mysql50\#lost\+found' ;
ERROR 1064 (42000): You have an error in your SQL syntax;
이건 작동하지 않아
답변1
객체 이름에는 백틱을 사용하십시오. 개별 문자를 이스케이프하려면 백슬래시를 사용하지 마십시오.
mysql> drop database `#really-bad+name`;
Query OK, 0 rows affected (0.00 sec)
답변2
~을 위한특정 문제이 문제에서 데이터베이스는 사용 중인 복구용으로 예약된 특수 디렉토리가 있는 파일 시스템 #mysql50#lost+found
에 마운트된 아티팩트입니다 ./var/lib/mysql
lost+found
fsck
따라서 MariaDB에 디렉터리를 무시하도록 지시하여 디렉터리를 보존해야 합니다. /etc/my.cnf
또는 기타 유사한 장소 에 다음을 추가하십시오.
ignore-db-dir=lost+found
그리고 데이터베이스 서버를 다시 시작하세요.
참고자료:MySQL/마리아 데이터베이스