phpMyAdmin
 sql >> Cơ Sở Dữ Liệu >  >> Database Tools >> phpMyAdmin

Thu nhỏ cơ sở dữ liệu để xuất tất cả các sản phẩm từ Magento

Tôi sẽ chia sẻ một tập lệnh php đơn giản, mà tôi thường sử dụng để có được một kết xuất Magento DB với dấu chân nhỏ hơn.

Ví dụ:bạn có thể tạo một tệp có tên:tiny-dump.php trong thư mục gốc Magento và dán tập lệnh vào bên trong tệp này. Sau đó, bạn chỉ có thể chạy tập lệnh nếu bạn nhấn vào url: http://mydomain.com/tiny- dump.php ... nếu mọi thứ hoạt động tốt, bạn sẽ tìm thấy một tệp sql có kết xuất DB trong thư mục var /. Tên tệp sẽ chứa {DB name} - {current date} .sql

Để biết thông tin của bạn, tôi đã sử dụng một số ý tưởng từ bài viết này: http:/ /www.crucialwebhost.com/kb/article/log-cache-maintenance-script/

Tập lệnh sẽ hoạt động nếu nhà cung cấp dịch vụ lưu trữ của bạn đã cài đặt "mysqldump"

Đây là liên kết đến tập lệnh: https://gist.github.com/4495889

Đây là tập lệnh:

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

Các vấn đề đã biết:Đôi khi tập lệnh không tạo được kết xuất DB nếu mật khẩu DB chứa các ký tự đặc biệt.

Hy vọng rằng nó hữu ích!




  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. phpmyadmin # 2054 không thể đăng nhập vào máy chủ mysql

  2. Phpmyadmin bị treo khi truy vấn, db quá lớn?

  3. MySQL chỉ hoạt động với:bỏ qua-cấp-bảng

  4. phpMyAdmin Hán ngữ khi sử dụng LIMIT

  5. Giải quyết máy chủ MySQL đã không còn lỗi