Vou compartilhar um script php simples, que costumo usar para obter um dump Magento DB com menor pegada.
Por exemplo, você pode criar um arquivo com o nome:tiny-dump.php no diretório raiz do Magento e colar o script dentro deste arquivo. Mais tarde, você pode simplesmente executar o script se clicar na url:http://mydomain.com/tiny- dump.php ... se tudo funcionar bem, você encontrará um arquivo sql com o dump do banco de dados no diretório var/. O nome do arquivo conterá {nome do banco de dados}-{data atual}.sql
Para sua informação, usei algumas ideias deste artigo:http:/ /www.crucialwebhost.com/kb/article/log-cache-maintenance-script/
O script funcionará, se o seu provedor de hospedagem tiver instalado o "mysqldump"
Aqui está um link para o script:https://gist.github.com/4495889
Aqui está o roteiro:
<?php
$xml = simplexml_load_file('./app/etc/local.xml', NULL, LIBXML_NOCDATA);
$db['host'] = $xml->global->resources->default_setup->connection->host;
$db['name'] = $xml->global->resources->default_setup->connection->dbname;
$db['user'] = $xml->global->resources->default_setup->connection->username;
$db['pass'] = $xml->global->resources->default_setup->connection->password;
$db['pref'] = $xml->global->resources->db->table_prefix;
function export_tiny() {
global $db;
$sqlFileName = 'var/' . $db['name'] . '-' . date('j-m-y-h-i-s') . '.sql';
$tables = array(
'dataflow_batch_export',
'dataflow_batch_import',
'log_customer',
'log_quote',
'log_summary',
'log_summary_type',
'log_url',
'log_url_info',
'log_visitor',
'log_visitor_info',
'log_visitor_online',
'index_event',
'report_event',
'report_compared_product_index',
'report_viewed_product_index',
'catalog_compare_item',
'catalogindex_aggregation',
'catalogindex_aggregation_tag',
'catalogindex_aggregation_to_tag'
);
$ignoreTables = ' ';
foreach($tables as $table) {
$ignoreTables .= '--ignore-table=' . $db['name'] . '.' . $db['pref'] . $table . ' ';
}
$dumpSchema = 'mysqldump' . ' ';
$dumpSchema .= '--no-data' . ' ';
$dumpSchema .= '-u ' . $db['user'] . ' ';
$dumpSchema .= '-p' . $db['pass'] . ' ';
$dumpSchema .= $db['name'] .' > ' . $sqlFileName;
exec($dumpSchema);
$dumpData = 'mysqldump' . ' ';
$dumpData .= $ignoreTables;
$dumpData .= '-u ' . $db['user'] . ' ';
$dumpData .= '-p' . $db['pass'] . ' ';
$dumpData .= $db['name'] .' >> ' . $sqlFileName;
exec($dumpData);
}
export_tiny();
Problemas conhecidos:Às vezes, o script falha ao criar o dump do banco de dados se a senha do banco de dados contiver caracteres especiais.
Espero que seja útil!