我想备份/opt/lampp/var/mysql `中的Xampp数据库,但我无法这样做。我用了下面的命令
/opt/lampp/htdocs/vivek.s$ sudo mysqldump -u -p vive.se > 07feb.sql
和
/opt/lampp/htdocs/vivek.s$ sudo mysqldump -h root -u -p vive.se > 07feb.sql
结果是一样的
bash: 07feb.sql:拒绝许可
然后我用
sudo -s sudo mysqldump -u root -p vive.se > 07feb.sql
结果是
sudo: mysqldump:未找到命令
并且在/opt/lampp/htdocs/vivek.s中创建了一个名为07feb.sql的空文件。
当我看到我的朋友使用同样的命令时,他得到了95 MB的数据库备份。我该试试什么。
谢谢
发布于 2018-02-07 18:20:28
问题是,您没有作为普通用户写入/opt/lampp/htdocs/vivek.s的权限。以根用户的身份运行mysqldump会提升mysqldump (不必要),但是重定向是以您的常规用户身份运行的shell的权限发生的。
有几个解决办法:
sudo -i或sudo -s启动根外壳。您不应该使用sudo来运行下一个命令mysqldump。tee:mysqldump -u root -p vive.se sudo tee 07feb.sql > /dev/null这将以根用户身份运行流程tee,将一个副本写入文件,并在不需要时将stdout重定向到/dev/null。
另一种解决方法是将备份写入到用户具有写权限的位置,例如主目录。
https://askubuntu.com/questions/1003960
复制相似问题