Mysql
 sql >> база данни >  >> RDS >> Mysql

Пропуснете определени таблици с mysqldump

Можете да използвате --ignore-table опция. Така че можете да направите

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

Няма интервал след -p (това не е правописна грешка).

За да игнорирате множество таблици, използвайте тази опция няколко пъти, документирано е, че работи от поне версия 5.0 .

Ако искате алтернативен начин за игнориране на множество таблици, можете да използвате скрипт като този:

#!/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. как мога да попълня стойността на dropdownbox, докато избирам стойността на друг уебсайт в php

  2. Дублиране на таблица в MYSQL без копиране на ред по ред

  3. SELECT в MySQL не функционира

  4. как да получите общия брой редове с mysqli

  5. MYSQL - Подредете стойностите на времевата марка във възходящ ред, от най-новите към най-старите?