MySQL是最流行的關(guān)系型數(shù)據(jù)庫之一,在使用MySQL的過程中,備份數(shù)據(jù)庫非常重要。備份多個數(shù)據(jù)庫是很常見的情況,下面介紹如何備份多個數(shù)據(jù)庫。
#!/bin/bash # 備份的日期 backup_date=$(date +%F) # 備份保存的路徑,需要根據(jù)實際情況進(jìn)行修改 backup_path=/backup/${backup_date} # 需要備份的數(shù)據(jù)庫列表,多個數(shù)據(jù)庫名之間用空格分隔 database_list="test_db1 test_db2 test_db3" # MySQL的用戶名和密碼 mysql_user="mysql_user" mysql_password="mysql_password" # 備份文件名的前綴,根據(jù)需要進(jìn)行修改 backup_file_prefix="backup_" # 創(chuàng)建備份目錄 if [ ! -d ${backup_path} ] then mkdir -p ${backup_path} fi # 備份每個數(shù)據(jù)庫 for database_name in ${database_list} do backup_file=${backup_file_prefix}${database_name}_${backup_date}.sql echo "Backing up database ${database_name} to file ${backup_file}..." mysqldump --single-transaction --quick --lock-tables=false -u ${mysql_user} -p${mysql_password} ${database_name} >${backup_path}/${backup_file} done # 打包備份文件 echo "Compressing backup files..." tar -zcvf ${backup_path}/${backup_file_prefix}${backup_date}.tar.gz ${backup_path}/${backup_file_prefix}* # 刪除備份文件 echo "Cleaning up backup files..." rm -rf ${backup_path}/${backup_file_prefix}* echo "Done."
上面的腳本會備份列表中指定的多個數(shù)據(jù)庫,并將備份文件保存在指定的備份目錄中。備份文件名的前綴可以根據(jù)需要進(jìn)行修改。最后,備份文件會被打包成一個tar.gz壓縮包,并在備份完成后刪除不必要的備份文件。