Cara Mengira Baris dalam Semua Jadual MySQL Menggunakan Skrip Bash
DDD
Lepaskan: 2024-11-25 16:00:15
asal
187 orang telah melayarinya
Apabila menguruskan pangkalan data MySQL, selalunya berguna untuk mendapatkan kiraan baris semua jadual untuk memantau saiz dan pertumbuhan pangkalan data anda. Walaupun MySQL tidak menyediakan arahan terbina dalam untuk mengira baris secara terus merentas semua jadual dalam pangkalan data, anda boleh mencapainya dengan mudah dengan skrip Bash yang mudah.
Dalam artikel ini, kami akan membincangkan cara mencipta dan menjalankan skrip Bash yang menanyakan setiap jadual dalam pangkalan data MySQL dan mengembalikan kiraan baris (COUNT(1)) untuk setiap jadual.
Prasyarat
MySQL Server: Anda mesti mempunyai pelayan MySQL yang sedang berjalan dengan akses kepada pangkalan data.
Bash: Skrip akan ditulis dalam Bash, jadi pastikan anda menjalankannya pada sistem seperti Unix (Linux/macOS) dengan Bash tersedia.
Panduan Langkah demi Langkah
1. Buat Skrip Bash
Pertama sekali, anda perlu mencipta skrip Bash yang akan menyambung ke pelayan MySQL anda, mendapatkan semula semua jadual dan melaksanakan SELECT COUNT(1) untuk setiap jadual untuk mengira baris. Ini skrip penuh:
#!/bin/bash
# MySQL credentials
USER="your_username"
PASSWORD="your_password"
DATABASE="your_database"
# Get list of all tables in the database
TABLES=$(mysql -u $USER -p$PASSWORD -D $DATABASE -e 'SHOW TABLES;' | tail -n +2)
# Loop through each table and get the count
for TABLE in $TABLES; do
COUNT=$(mysql -u $USER -p$PASSWORD -D $DATABASE -e "SELECT COUNT(1) FROM $TABLE;" | tail -n 1)
echo "Table: $TABLE, Count: $COUNT"
done
Salin selepas log masuk
2. Pecahan Skrip
Mari kita pecahkan komponen skrip ini:
Kelayakan Log Masuk MySQL: Skrip memerlukan nama pengguna, kata laluan dan nama pangkalan data MySQL anda. Gantikan ruang letak (nama_pengguna_anda, kata laluan_anda, pangkalan data_anda) dengan bukti kelayakan anda yang sebenar.
Dapatkan Jadual: SHOW TABLES; pertanyaan mendapatkan semula semua nama jadual dalam pangkalan data yang ditentukan.
Gelung Melalui Jadual: Skrip kemudian menggelung pada setiap jadual dan menjalankan SELECT COUNT(1) FROM
untuk mengira bilangan baris dalam jadual.
Output: Hasilnya dicetak sebagai Jadual: , Count: .
3. Jadikan Skrip Boleh Laksana
Untuk menjadikan skrip boleh laku, simpan kandungan pada fail, contohnya, count_tables.sh. Kemudian, berikan kebenaran boleh laku:
chmod +x count_tables.sh
Salin selepas log masuk
4. Jalankan Skrip
Anda kini boleh menjalankan skrip dengan menaip:
./count_tables.sh
Salin selepas log masuk
5. Sampel Output
Apabila anda menjalankan skrip, anda akan mendapat output yang serupa dengan ini:
Setiap baris menunjukkan nama jadual diikuti dengan kiraan baris.
6. Mengendalikan Pangkalan Data Besar
Untuk pangkalan data dengan banyak jadual, menjalankan skrip ini boleh mengambil sedikit masa kerana ia melakukan COUNT(1) pada setiap jadual secara individu. Jika anda mempunyai bilangan jadual atau jadual yang sangat besar, pertimbangkan untuk menjalankan skrip pada waktu luar puncak untuk mengelakkan daripada meletakkan beban yang tidak perlu pada pelayan MySQL.
Kesimpulan
Skrip Bash mudah ini ialah cara yang bagus untuk menyemak kiraan baris semua jadual dalam pangkalan data MySQL anda dengan cepat. Ia boleh digunakan untuk tujuan pemantauan, pengoptimuman atau bila-bila masa anda memerlukan gambaran keseluruhan saiz jadual anda.
Dengan mengubah suai skrip ini, anda boleh menambah lebih banyak fungsi, seperti menapis jadual tertentu atau mengeksport hasil ke fail untuk analisis kemudian.
Dengan hanya beberapa baris kod, anda kini mempunyai alat yang berkuasa untuk membantu anda mengurus pangkalan data MySQL anda dengan lebih cekap.
Atas ialah kandungan terperinci Cara Mengira Baris dalam Semua Jadual MySQL Menggunakan Skrip Bash. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
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