Impossível despejar as tabelas do mysql no local

1

Eu estava tentando despejar minha tabela mysql usando o comando abaixo

mysqldump --tab=/home/username/Desktop/basic/ --user myusername -p mysql user;

Mas retornou um erro dizendo

mysqldump: Got error: 1: Can't create/write to file '/home/username/Desktop/basic/user.txt' (Errcode: 13) when executing 'SELECT INTO OUTFILE'

Eu uso o Ubuntu 14.04. Eu tentei desativar o apparmor como explicado aqui . Mas ainda assim o erro existe. Alguma outra solução?

Editar

Eu recebo o arquivo .sql, mas não o arquivo .txt

    
por Anonymous Platypus 11.05.2015 / 07:59

1 resposta

1

Primeiro, certifique-se de que mysql possa gravar em /home/username/Desktop/basic/ ; Se você planeja fazer vários despejos no mesmo diretório, uma maneira bem clara de fazer isso seria definir a propriedade da pasta como mysql e definir a permissão SGID na pasta (graças ao muru para essa sugestão ): desta forma mysqldump será capaz de gravar na pasta, mas novos arquivos herdarão o grupo do diretório pai; isso tem a vantagem de deixar para o seu usuário ler, gravar e executar permissões nos dumps.

sudo chown mysql /home/username/Desktop/basic/ && sudo chmod g+s /home/username/Desktop/basic/

Além disso, certifique-se de que não haja nenhum arquivo chamado user.sql ou user.txt presente no diretório de destino antes de emitir o comando; se mysql não puder gravar no diretório de destino ou um arquivo com o mesmo nome de um dos arquivos de saída esperados existir antes de emitir o comando, mysqldump falhará.

    
por kos 11.05.2015 / 09:01