mv 디렉토리 및 내용을 새 디렉토리로 이동

mv 디렉토리 및 내용을 새 디렉토리로 이동

데이터베이스를 구성하는 많은 파일이 /var/lib/mysql/test_db/ 포함된 디렉토리가 있습니다. test_db

이제 새 디렉터리를 만들었습니다. /var/lib/mysql/data/

test_db디렉터리와 그 내용을 data디렉터리 로 이동 하려고 합니다 .

여기저기서 여러가지 시도해 봤는데

sudo mv /var/lib/mysql/test_db/ /var/lib/mysql/data/test_db/

하지만 계속 오류가 발생합니다.

mv: cannot move /var/lib/mysql/test_db/ to /var/lib/msyql/data/test_db/: No such file or directory

하지만 내가 실행하면 : ls -lah

알겠어요

drwxrwxrwx  2 root  root    32K Mar 27 15:58 test_db
drwxrwxrwx  3 mysql mysql  4.0K Mar 30 10:51 data

내가 아는 한, 이는 둘 다 디렉토리이므로 둘 다 존재한다는 것을 의미합니다.

보시다시피 권한( chmod 777 test_db)을 변경했지만 작동하지 않았습니다.

내가 무엇을 놓치고 있나요?

답변1

대상 데이터베이스 디렉터리를 삭제하고 test_db디렉터리 자체를 이동합니다. (또한 암시적으로 내용을 이동합니다.)

sudo rmdir /var/lib/mysql/data/test_db
sudo mv /var/lib/mysql/test_db /var/lib/mysql/data

일반적으로 디렉터리 이름 뒤에 슬래시를 제공할 필요가 없습니다.

귀하의 의견을 읽으면서 여전히 "해당 파일 또는 디렉터리가 없습니다" 오류가 발생하는 경우 소스 디렉터리가 대상 디렉터리 test_db로 이동되었기 때문일 수 있습니다 . 이 경우 위의 작업도 "해당 파일 또는 디렉터리 없음" 오류와 함께 실패합니다. 이 명령을 사용하여 문제를 해결한 후 이 답변 상단에 있는 두 명령을 다시 실행하세요.test_db/var/lib/mysql/data/test_db/test_db/...rmdir

sudo mv /var/lib/mysql/data/test_db/test_db /var/lib/mysql

답변2

당신의 명령:

sudo mv /var/lib/mysql/test_db/ /var/lib/mysql/data/test_db/

모바일용입니다/var/lib/mysql/test_db/ ~에 /var/lib/mysql/data/test_db/, 그리고 마침내 /var/lib/mysql/data/test_db/test_db/. 하지만 /var/lib/mysql/data/test_db/존재하지 않기 때문에 오류가 발생합니다.

다음을 실행해야 합니다:

sudo mv /var/lib/mysql/test_db/ /var/lib/mysql/data/

이미 /var/lib/mysql/test_db/이사했습니다 /var/lib/mysql/data/.

관련 정보