Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Bỏ qua một số bảng nhất định với mysqldump

Bạn có thể sử dụng --ignore-table quyền mua. Vì vậy, bạn có thể làm

mysqldump -u USERNAME -pPASSWORD DATABASE --ignore-table=DATABASE.table1 > database.sql

Không có khoảng trắng sau -p (đây không phải là lỗi đánh máy).

Để bỏ qua nhiều bảng, hãy sử dụng tùy chọn này nhiều lần, tùy chọn này được ghi nhận là hoạt động vì ít nhất là phiên bản 5.0 .

Nếu bạn muốn có một cách thay thế để bỏ qua nhiều bảng, bạn có thể sử dụng một tập lệnh như sau:

#!/bin/bash
PASSWORD=XXXXXX
HOST=XXXXXX
USER=XXXXXX
DATABASE=databasename
DB_FILE=dump.sql
EXCLUDED_TABLES=(
table1
table2
table3
table4
tableN   
)
 
IGNORED_TABLES_STRING=''
for TABLE in "${EXCLUDED_TABLES[@]}"
do :
   IGNORED_TABLES_STRING+=" --ignore-table=${DATABASE}.${TABLE}"
done

echo "Dump structure"
mysqldump --host=${HOST} --user=${USER} --password=${PASSWORD} --single-transaction --no-data --routines ${DATABASE} > ${DB_FILE}

echo "Dump content"
mysqldump --host=${HOST} --user=${USER} --password=${PASSWORD} ${DATABASE} --no-create-info --skip-triggers ${IGNORED_TABLES_STRING} >> ${DB_FILE}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để lặp qua truy vấn mysql với php

  2. PHP và MySQL trừ giây từ thời gian

  3. làm thế nào để giảm thiểu truy vấn của tôi?

  4. MySQL:mối quan hệ nhiều đến nhiều với nhiều điều kiện AND

  5. Cách cấp quyền truy cập từ xa vào một cơ sở dữ liệu MySQL duy nhất