我有一个目录:
/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/
Run Code Online (Sandbox Code Playgroud)
但我不断收到错误消息:
mv: cannot move /var/lib/mysql/test_db/ to /var/lib/msyql/data/test_db/: No such file or directory
Run Code Online (Sandbox Code Playgroud)
但如果我跑:
ls -lah
我得到
drwxrwxrwx 2 root root 32K Mar 27 15:58 test_db
drwxrwxrwx 3 mysql mysql 4.0K Mar 30 10:51 data
Run Code Online (Sandbox Code Playgroud)
据我所知,这意味着它们都是目录,因此都存在。
如您所见,我已更改了它们的权限 ( chmod 777 test_db
),但这不起作用。
我错过了什么?
roa*_*ima 16
删除目标数据库目录并移动test_db
目录本身。(这也将隐式移动其内容。)
sudo rmdir /var/lib/mysql/data/test_db
sudo mv /var/lib/mysql/test_db /var/lib/mysql/data
Run Code Online (Sandbox Code Playgroud)
通常,您不需要在目录名称上提供尾部斜杠。
阅读您的评论后,如果您发现仍然出现“没有这样的文件或目录”错误,则可能是您的源目录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/data
Run Code Online (Sandbox Code Playgroud)
pet*_*try 10
你的命令:
sudo mv /var/lib/mysql/test_db/ /var/lib/mysql/data/test_db/
Run Code Online (Sandbox Code Playgroud)
是为了/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/
Run Code Online (Sandbox Code Playgroud)
已经/var/lib/mysql/test_db/
搬进去了/var/lib/mysql/data/
。
归档时间: |
|
查看次数: |
76179 次 |
最近记录: |