১ Dec ই ডিসেম্বর, ২০১১-এ, আমি এই প্রশ্নের উত্তর দিয়েছি যে আপনি নির্দিষ্ট টেবিলগুলি কীভাবে মাইএসকিলডাম্প করবেন?
আমি টেবিলের নামগুলির একটি নির্দিষ্ট সেট না রেখে সমস্ত টেবিল সংগ্রহ করেছি।
একই নীতিগুলি ব্যবহার করে, আপনি information_schema.schemata
যে মেটাডেটা টেবিলটি মাইসকিডম্প্প করতে চান তা থেকে সমস্ত ডাটাবেসের নাম সংগ্রহ করতে পারতেন, সেই তালিকাটি ফেরত দেওয়ার জন্য একটি কোয়েরি তৈরি করতে পারতেন এবং তারপরে mysqldump কমান্ডটি তৈরি করতে ডাটাবেসের তালিকাটি ব্যবহার করতে পারেন।
DATABASES_TO_EXCLUDE="db1 db2 db3"
EXCLUSION_LIST="'information_schema','mysql'"
for DB in `echo "${DATABASES_TO_EXCLUDE}"`
do
EXCLUSION_LIST="${EXCLUSION_LIST},'${DB}'"
done
SQLSTMT="SELECT schema_name FROM information_schema.schemata"
SQLSTMT="${SQLSTMT} WHERE schema_name NOT IN (${EXCLUSION_LIST})"
MYSQLDUMP_DATABASES="--databases"
for DB in `mysql -ANe"${SQLSTMT}"`
do
MYSQLDUMP_DATABASES="${MYSQLDUMP_DATABASES} ${DB}"
done
MYSQLDUMP_OPTIONS="--routines --triggers"
mysqldump ${MYSQLDUMP_OPTIONS} ${MYSQLDUMP_DATABASES} > MySQLDatabases.sql
আপনাকে যা করতে হবে তা হ'ল যে ডেটাবেসগুলিতে আপনি চান না যে আপনি মাইএসকিल्डম্প'তে প্রবেশ করতে চান DATABASES_TO_EXCLUDE
একবার চেষ্টা করে দেখো !!!
information_schema
এটি কোনওভাবেই ছুঁড়ে ফেলা হচ্ছে না তা বাদ দেওয়ার দরকার নেই ।mysqldump does not dump the INFORMATION_SCHEMA or performance_schema database by default. To dump either of these, name it explicitly on the command line and also use the --skip-lock-tables option. You can also name them with the --databases option. Before MySQL 5.5 mysqldump silently ignores INFORMATION_SCHEMA even if you name it explicitly on the command line.
dev.mysql.com/doc/refman/5.5/en/mysqldump.html