Bagaimanakah saya boleh mengautomasikan proses lambakan jadual MySQL ke dalam fail berasingan?

DDD
Lepaskan: 2024-10-29 05:03:29
asal
729 orang telah melayarinya

How can I automate the process of dumping MySQL tables into separate files?

Mengautomatikkan Lambakan Jadual MySQL ke dalam Fail Berasingan

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>
Salin selepas log masuk

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:

  • Python (menggunakan perpustakaan mysql)
  • Ruby (menggunakan permata mysql2)
  • PHP (menggunakan mysqli sambungan)

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan