我试图使用mysqlbackup备份我的数据库,但我一直收到这个错误,我不知道为什么引用了拒绝权限的错误。
我已经关闭了SeLinux,因为我认为这可能是原因,但SeLinux日志中也没有任何内容,我也可以使用正常命令登录到mysql:mysql-uuser-password。
输出的整个密码可以在这里看到:http://pastie.org/10798013
这是因为MySQLBackup需要以root身份运行才能访问所需的资源。通常情况下,您只需运行sudo mysqlbackup
,但我认为这在默认情况下不适用于此程序。
在这种情况下,最快的方法是以root用户身份运行该命令。要做到这一点,你所需要做的就是打开一个终端并键入:
sudo -s
系统将提示您输入密码,然后终端将显示root@...
,而不是正常的user@...
。这表示您现在是root用户。
现在你可以再次执行你的代码:
mysqlbackup --compress --user=root --socket=/var/lib/mysql/mysql.sock --backup-dir=/home/user/backup backup
完成后,请记住只需键入exit
即可从root注销。记住,除非别无选择,否则不要使用root用户;除非你确定自己在做什么,否则很容易意外地更改重要的文件/文件夹。
了解更多信息
值得更多地了解以root身份登录,甚至调整配置以使mysqlbackup
不需要root,因此这里有一些链接:
- MySQLBackup权限被拒绝(Unix和Linux-StackExchange)
- RootSudo(Ubuntu Wiki)
延迟响应,但当mysql deamon运行时,尝试恢复差异/增量备份时会发生此精确错误
如果您能够使用命令连接到数据库mysql -uuser -ppassword
那么您只能恢复完整备份
如果没有,则可以恢复差异/增量备份,但不能恢复完整的
换句话说:你应该关闭你的服务(对我来说是net stop mysql-8.0)