Melambakkan jadual ke dalam fail berasingan secara manual boleh menjadi membosankan, terutamanya apabila anda mempunyai pangkalan data yang besar dengan banyak jadual. Untuk mengautomasikan proses ini dan mengelakkan lambakan yang hilang untuk jadual yang baru ditambah, terdapat beberapa pendekatan yang boleh anda pertimbangkan.
Mengautomasikan Pembuangan Jadual
Titik permulaan ialah skrip yang boleh ulangi semua jadual sedia ada dan buangkannya ke dalam fail berasingan. Berikut ialah skrip contoh yang menggunakan arahan mysqldump untuk tujuan ini:
<code class="bash">#!/bin/bash # dump-tables-mysql.sh # Descr: Dump MySQL table data into separate SQL files for a specified database. [ $# -lt 3 ] && echo "Usage: $(basename ) <DB_HOST> <DB_USER> <DB_NAME> [<DIR>]" && exit 1 DB_host= DB_user= DB= DIR= [ -n "$DIR" ] || DIR=. test -d $DIR || mkdir -p $DIR echo -n "DB password: " read -s DB_pass echo echo "Dumping tables into separate SQL command files for database '$DB' into dir=$DIR" for t in $(mysql -NBA -h $DB_host -u $DB_user -p$DB_pass -D $DB -e 'show tables') do echo -n "DUMPING TABLE: $DB.$t... " mysqldump -h $DB_host -u $DB_user -p$DB_pass $DB $t | gzip > $DIR/$DB.$t.sql.gz echo "done." done echo "Tables dumped from database '$DB' into dir=$DIR"</code>
Skrip ini akan menggesa anda untuk kata laluan pangkalan data, kemudian lelaran melalui semua jadual dalam pangkalan data yang ditentukan dan buangkannya ke dalam .sql.gz termampat fail dalam direktori yang ditentukan (--DIR).
Pilihan Lambakan Lain
Jika arahan mysqldump sahaja tidak cukup fleksibel untuk keperluan anda, anda boleh menggunakan skrip lain bahasa untuk mengakses MySQL dan mengautomasikan proses lambakan. Beberapa bahasa popular yang boleh menyambung ke MySQL ialah:
Bahasa ini memberikan lebih kawalan ke atas proses lambakan, membolehkan anda menyesuaikan format output, mengendalikan ralat dan melaksanakan operasi lain mengikut keperluan.
Atas ialah kandungan terperinci Bagaimanakah saya boleh mengautomasikan proses lambakan jadual MySQL ke dalam fail berasingan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!