phpMyAdmin
 sql >> Teknologi Basis Data >  >> Database Tools >> phpMyAdmin

Minimalkan database untuk mengekspor semua produk dari Magento

Saya akan membagikan skrip php sederhana, yang biasanya saya gunakan untuk mendapatkan dump Magento DB dengan footprint yang lebih kecil.

Misalnya Anda dapat membuat file dengan nama:tiny-dump.php di direktori root Magento dan menempelkan skrip di dalam file ini. Nanti bisa langsung jalankan scriptnya jika menekan url:http://mydomain.com/tiny- dump.php ... jika semuanya bekerja dengan baik, Anda akan menemukan file sql dengan dump DB di direktori var/. Nama file akan berisi {DB name}-{current date}.sql

Untuk informasi Anda, saya menggunakan beberapa ide dari artikel ini:http:// /www.crucialwebhost.com/kb/article/log-cache-maintenance-script/

Script akan bekerja, jika penyedia hosting Anda telah menginstal "mysqldump"

Berikut ini tautan ke skrip:https://gist.github.com/4495889

Berikut scriptnya:

<?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();

Masalah umum:Terkadang skrip gagal membuat dump DB jika kata sandi DB berisi karakter khusus.

Semoga bermanfaat!




  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Hapus data menggunakan get url php string

  2. phpmyadmin 2002 kesalahan

  3. Kesulitan dalam menulis Stored Procedure di MYSQL

  4. Siapkan phpMyAdmin di dalam subdirektori situs web

  5. Tidak dapat membuat PEMICU dari dalam rutinitas tersimpan lainnya -- Apa itu rutinitas tersimpan lainnya?