Tente o seguinte: mysqldump --lock-all-table -u USERNAME -p SENHA > BACKUP.sql
Esteja ciente de que, se isso for ao vivo, isso pode impedir o funcionamento dos sites.
Eu tenho um banco de dados wordpress MU com algo como mais de 10.000 tabelas para vários blogs de usuários. Eu preciso atualizar o wordpress MU para a versão mais recente, mas quero fazer o backup do banco de dados antes da mão.
O PHPMyAdmin falha ao carregar a página quando clico em exportar. Eu tentei entrar no servidor (windows) e usar a linha de comando do DOS:
mysqldump -u USERNAME -p PASSWORD> BACKUP.sql
mas paira por um minuto e me dá o erro:
error 23: out of resources when opinging file '.\USERNAME\wp_1037_links.MYD' (Errorcode: 24) when using LOCK Tables
O que estou fazendo de errado ou deveria estar fazendo? O PHPMyAdmin é adequado para algo desse tamanho? Existe uma maneira melhor de fazer isso do que os dois métodos que eu tentei?
** Observe que este não é o meu site, portanto, quaisquer sugestões quanto à configuração do DB devem ser executadas pelo proprietário. Eu estou aqui apenas para porcarias relacionadas a WP, isso é meio fora do escopo para o que eu fui levado a fazer.
Tente o seguinte: mysqldump --lock-all-table -u USERNAME -p SENHA > BACKUP.sql
Esteja ciente de que, se isso for ao vivo, isso pode impedir o funcionamento dos sites.
O erro indica que você está ficando sem recursos no servidor; provavelmente o motivo é o bloqueio: o mysqldump bloqueia implicitamente as tabelas ao lê-las. Se houver muita atividade no banco de dados, o MySQL precisará manter uma cópia dos dados mais antigos disponíveis para a transação mysqldump; para tabelas grandes o suficiente, isso pode ser um problema real.
Se você não está muito preocupado com a consistência dos dados, você pode usar --skip-lock-tables
( -q
na verdade não funcionará, ele apenas impede o buffer de saída. Isso pode ser útil, mas não resolverá seu problema) e --single-transaction
.
Eu tive o mesmo problema e percebi que é a variável open_files_limit para my.cnf
apenas atualize seu my.cnf
open_files_limit = 20000
[& reiniciar]
o valor deve ser 2 * número de tabelas que você tem em seu banco de dados. Se isso não funcionar, tente 3 * número de tabelas. Se isso também não acontecer, não vá incrementar, já que esse não é o problema no seu caso. Procure por solução novamente ;-)
você pode tentar o administrador do mysql , mas parece que o mysqldump lança um erro desse tipo.
error 23: out of resources when opening file '.\USERNAME\wp_1037_links.MYD'
Isso soa mais como um problema geral de RAM ou disco rígido em seu servidor. Isso é uma máquina virtual? Verifique seu disco rígido quota
primeiro. Pode ser que o mySQL esteja ficando sem espaço, mesmo tentando acessar a tabela - nesse caso, mesmo um backup compactado não ajudará.
O erro que você está enfrentando é:
shell & per perdo 23
Código de erro 23: muitos arquivos abertos no sistema
shell & per perror 24 |
Código de erro 24: muitos arquivos abertos
Mais informações aqui:
forums.mysql.com/read.php?35,7639,7639#msg-7639
Mas, como você provavelmente já sabe, o mysqldump não é a única maneira de executar um backup do mysql e também não é a melhor maneira.
Estou assumindo que você está usando o Innodb como o mecanismo de armazenamento, então eu recomendaria usar o utilitário de backup 'hot' do innodb: ibbackup .
(ele também pode executar backup para o myisam mas não tem vantagens sobre o mysqlhotcopy)
Mas para proteção real do banco de dados Mysql você pode recomendar a ativação dos logs binários no servidor mysql (eles dizem que só diminui o desempenho em 1%) para que você possa fazer restaurações pontuais como mostrado aqui: dev.mysql.com/doc/ refman / 5.0 / pt / point-in-time-recovery.html.
Se nenhuma das alternativas acima for uma opção para você, por que não:
1. SELECIONE-SE EM ... OUTFILE
2. Considerando o ambiente do seu provedor, você pode fazer instantâneos do sistema de arquivos.
3. ou (eu sei que estou empurrando) escravos de replicação Mysql :)
4. Se estiver usando o myisam, basta limpar as tabelas com o bloqueio de leitura e copiar os arquivos
5. Solicite a atualização do servidor mysql para o 6.0 (quando ele atinge o GA) e faça backups como este:
mysql > BACKUP DATABASE 'db-name' para 'c: \ backups \ whynotswitchtounix.bkp';
(observe a mensagem subliminar :))
mysqldump -q -u nome_do_usuário -ppassword database > file.sql
-q evita bloquear as tabelas durante o despejo
De fato, o utilitário InnoDB Hot Backup é uma ótima ferramenta, mas você pode preferir uma ferramenta gratuita lançada recentemente pela Percona: XtraBackup . Ele realiza backup online de tabelas InnoDB e XtraDB e pode criar backups completos e incrementais.
tente usar gzip para compactar seus arquivos sql para fazer o backup do link
e talvez ampliando sua memória virtual ...
faça o proprietário entrar em contato com a empresa de hospedagem para fazer um backup rápido