Eu herdei um site cliente que possui um banco de dados extremamente grande sem motivo. Há uma quantidade moderada de conteúdo e muito poucos módulos ativados. No entanto, o banco de dados é muito grande para se mover facilmente e eu quero limpá-lo.
Limpei as tabelas de cache padrão, syslog e accesslog.
Existem outras tabelas que eu possa truncar com segurança em um site padrão do Drupal?
{cache_form}
não estão realmente corretas. Esta não é uma tabela de cache verdadeira. Ele contém envios de formulários em andamento. Se você excluir todos os dados nesta tabela, seu usuário poderá perder dados. A coisa certa a fazer com esta tabela é expirar as entradas.Respostas:
Use o módulo de backup e migração , ele vem com bons padrões para ignorar dados não necessários . Por padrão, ele gera um backup do banco de dados sem cache, watchdog e algumas outras tabelas.
Se isso não ajudar, consulte o phpMyAdmin e informe quais tabelas possuem muitas entradas.
fonte
Drupal 7 tabelas que podem ser excluídas
Aqui está uma lista de tabelas no Drupal 7 que você pode limpar (para reduzir o tamanho do banco de dados) ou excluir com segurança para fazer uma migração (como na pergunta sobre Como reduzir o tamanho do banco de dados exportado localmente para contornar o limite de importação do meu servidor? ):
Normalmente, tabelas como
search_index
ewatchdog
usam muito espaço no banco de dados, portanto, apenas a eliminação dessas duas tabelas já pode fazer uma enorme diferença.Outras tabelas que podem ser excluídas
Verifique o tamanho das tabelas restantes e identifique qual delas é a maior em tamanho.
Normalmente, você pode encontrar tabelas de sessões para as quais nenhum procedimento de limpeza está em vigor. Essas tabelas você provavelmente também pode excluir.
Backup e migração de módulos
Para reduzir ainda mais o desafio, conforme detalhado em " Como reduzir o tamanho do banco de dados exportado localmente para contornar o limite de importação do meu servidor? ", Consulte também o módulo Backup e Migrar . Aqui está uma citação de sua página do projeto (marcação em negrito adicionada aqui):
E há ainda mais: se o seu ambiente local (por exemplo, Win ou Mac) diferir do SO que o servidor do site hospedado está executando (como o Linux), essas diferenças entre os SOs implicam possíveis desafios extras. Eu tive boas experiências com o módulo Backup and Migrate entre diferentes sistemas operacionais, o que não causou nenhum problema (funcionou bem) em situações em que a exportação / importação típica do MySql falhou antes.
fonte
cache_
prefixado ou_cache
anexado são seguros para truncar, bem como, tais comofeatures_cache
ouviews_data_object_export_cache
etc._drupal_session_garbage_collection
manterá a tabela organizada, com base nas configurações do sistema.Na minha experiência, eu limpo todas as tabelas "cache_ *".
fonte
Às vezes, eu executo esse SQL para ficar de olho no crescimento das tabelas principais:
fonte
O watchdog e as sessões também podem ser limpos, lembre-se de que todos os usuários serão desconectados.
fonte
Com o mySQL, você pode fazer coisas divertidas com o programa mysqldump para exportar o banco de dados na sua totalidade ou em partes. Por exemplo, isso apenas exporta a estrutura:
Você pode usar a opção 'ignorar tabela' para exportar mais dados, por exemplo
Isso coloca os dados no final do arquivo anterior, ignorando algumas tabelas massivas.
Se você precisar das tabelas maciças, poderá exportá-las para um arquivo diferente usando a abordagem acima, importando-as em pedaços (embora possa ser necessário marcar o fk).
Você compactou seu arquivo antes de fazer o upload ou é uma pergunta boba?
fonte
Use o módulo OptimizeDB para limpar as tabelas de cache. A administração do banco de dados também é útil.
Não se esqueça de ter um backup dos bancos de dados.
fonte
não o super especialista sobre isso, mas partilhar a minha experiência ... se você não estiver usando a cópia de segurança e módulo de migrar manualmente e exportá-los algumas das tabelas que você poderia esvaziar / truncado seria
watchdog
,cache
,cache_menu
,cache_block
,cache_content
,cache_form
, já que podem conter uma grande quantidade de limpeza de coisas em cache que suponho que não faria mal ... mas, novamente, essa é a minha experiência e não encontrei problemas ou perda de dados por causa disso.fonte
Algumas ideias:
fonte
Verifique a
example.drushrc.php
lista que estes:É seguro limpá-los em termos de movimentação do banco de dados entre diferentes ambientes (especialmente quando você está trabalhando com grandes bancos de dados ). No entanto, você ainda precisa entender o que está limpando.
fonte
Tabelas adicionais que podem ser limpas:
Outras coisas que podem ocupar bastante espaço: - versões mais antigas do seu conteúdo (não é possível limpar com um simples truncado). - locales_source e locales_target. Se você possui idiomas que não são mais usados ou traduções de string para módulos que não são mais usados. Essas mesas parecem nunca ficar limpas.
fonte