Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Pomiń niektóre tabele za pomocą mysqldump

Możesz użyć --ignore-table opcja. Więc możesz to zrobić

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

Nie ma spacji po -p (to nie jest literówka).

Aby zignorować wiele tabel, użyj tej opcji wiele razy, udokumentowano, że działa to od co najmniej wersja 5.0 .

Jeśli chcesz alternatywnego sposobu ignorowania wielu tabel, możesz użyć skryptu takiego:

#!/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. Identyfikator automatycznego inkrementacji MySQL nagle przeskoczył do MAXINT, co może być przyczyną?

  2. Jaka jest różnica między =i :=w MySQL?

  3. Dodawanie obrazu do bazy danych w Javie

  4. Baza danych PhalconPHP dołącza do ORM

  5. Migracja bazy danych Oracle do MySQL na AWS, część 2