Portanto, o motivo de seu backup estar falhando como um usuário normal é porque o arquivo libdata
que mysqlbackup
está tentando copiar / fazer backup pertence a um usuário diferente (mais do que provável, 'mysql') ou um usuário privilegiado. Portanto, executar mysqlbackup
como um usuário elevado é provavelmente a escolha certa aqui, como você está tentando fazer.
Suponho que o motivo pelo qual você não consegue encontrar mysqlbackup
como um usuário elevado é que o seu ambiente PATH
não está definido corretamente ou não está definido. Estou certo em supor que você não pode fazer algo como:
sudo /usr/bin/mysqldump --compr....
Se puder, certifique-se de executar o comando com o caminho absoluto para mysqldump
. Se isso não funcionar por causa de como o sudo
está configurado, você precisará tentar uma tática diferente.
PATH=/usr/bin sudo mysqlbackup --compress ...
Agora, se isso funcionar, ótimo. No entanto, não é muito bom para o uso futuro da linha de comando. Você poderia criar um alias
para executar mysqlbackup
no futuro, para que você não precise especificar o PATH na linha de comando para uso futuro:
Para o bash:
(para outros shells como zsh
, você precisará ler os documentos sobre como definir um alias)
echo 'alias mysqlbackup="PATH=/usr/bin sudo mysqlbackup"' >> ~/.bashrc
... que pode ser invocado, depois de obter o arquivo .bashrc
(logout e login é suficiente, ou contratar o arquivo IE . ~/.bashrc
), no futuro simplesmente executando:
mysqlbackup --compress...
Digamos que nada disso funcione, no entanto. Você provavelmente precisará obter o administrador da máquina para alterar suas permissões sudo para mysqlbackup
para incluir o PATH adequado ou para especificar um caminho absoluto para mysqlbackup
no arquivo sudoers para sua capacidade de chamá-lo do shell ao executar sudo
.
Espero que isso ajude.