Mengautomatikkan Lambakan Jadual MySQL ke dalam Fail Berasingan
Mysqldump menawarkan cara yang mudah untuk membuang jadual MySQL ke dalam fail individu. Walau bagaimanapun, mengetahui nama jadual terlebih dahulu adalah satu had. Untuk menangani perkara ini, terdapat pendekatan alternatif untuk membuang setiap jadual secara automatik.
Pendekatan Berasaskan Skrip:
Dengan memanfaatkan skrip-fu, anda boleh menanyakan pangkalan data untuk mendapatkan semula semua nama jadual dan buat skrip yang melakukan pembuangan. Berikut ialah beberapa bahasa skrip yang mampu mengakses pangkalan data MySQL:
Skrip Bash Sendiri:
Skrip Bash yang disediakan menyelaraskan proses selanjutnya, menghapuskan keperluan untuk skrip tambahan pengetahuan:
<code class="bash">#!/bin/bash # dump-tables-mysql.sh [ $# -lt 3 ] && echo "Usage: <DB_HOST> <DB_USER> <DB_NAME> [<DIR>]" && exit 1 DB_host= DB_user= DB= DIR= [ -n "$DIR" ] || DIR=. test -d $DIR || mkdir -p $DIR read -sp "DB password: " DB_pass echo echo "Dumping tables into separate SQL command files for database '$DB' into dir=$DIR" tbl_count=0 for t in $(mysql -NBA -h $DB_host -u $DB_user -p$DB_pass -D $DB -e 'show tables') do echo "DUMPING TABLE: $DB.$t" mysqldump -h $DB_host -u $DB_user -p$DB_pass $DB $t | gzip > $DIR/$DB.$t.sql.gz tbl_count=$(( tbl_count + 1 )) done echo "$tbl_count tables dumped from database '$DB' into dir=$DIR"</code>
Skrip ini menggesa kata laluan pangkalan data, membuang setiap data jadual ke dalam fail SQL termampat yang berasingan dan menyimpannya dalam direktori yang ditentukan. Ia mengendalikan semua langkah yang diperlukan, daripada mendapatkan semula nama jadual kepada mencipta fail dump.
Atas ialah kandungan terperinci Bagaimanakah saya boleh membuang jadual MySQL secara automatik ke dalam fail berasingan tanpa mengetahui nama jadual terlebih dahulu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!