在Ubuntu上備份和恢復MySQL數據庫可以通過多種方法實現,以下是一些常用的方法:
mysqldump
工具登錄到MySQL服務器:
mysql -u username -p
輸入密碼后進入MySQL命令行界面。
備份數據庫:
mysqldump -u username -p database_name > backup_file.sql
例如:
mysqldump -u root -p mydatabase > mydatabase_backup.sql
系統會提示輸入密碼,輸入后開始備份。
tar
壓縮備份文件mysqldump -u username -p database_name | gzip > backup_file.sql.gz
例如:mysqldump -u root -p mydatabase | gzip > mydatabase_backup.sql.gz
mysql
工具恢復登錄到MySQL服務器:
mysql -u username -p
輸入密碼后進入MySQL命令行界面。
恢復數據庫:
mysql -u username -p database_name < backup_file.sql
例如:
mysql -u root -p mydatabase < mydatabase_backup.sql
gunzip
解壓縮并恢復解壓縮備份文件:
gunzip backup_file.sql.gz
恢復數據庫:
mysql -u username -p database_name < backup_file.sql
例如:
gunzip mydatabase_backup.sql.gz
mysql -u root -p mydatabase < mydatabase_backup.sql
你可以編寫一個簡單的腳本來自動化備份過程。以下是一個示例腳本:
#!/bin/bash
# 設置變量
DATE=$(date +%Y%m%d%H%M%S)
BACKUP_DIR="/path/to/backup/directory"
DATABASE_NAME="your_database_name"
USERNAME="your_username"
PASSWORD="your_password"
# 創建備份目錄(如果不存在)
mkdir -p $BACKUP_DIR
# 執行備份
mysqldump -u $USERNAME -p$PASSWORD $DATABASE_NAME | gzip > $BACKUP_DIR/$DATABASE_NAME-$DATE.sql.gz
# 刪除7天前的備份文件
find $BACKUP_DIR -type f -name "*.sql.gz" -mtime +7 -exec rm {} \;
將上述腳本保存為backup_mysql.sh
,然后賦予執行權限并運行:
chmod +x backup_mysql.sh
./backup_mysql.sh
通過以上方法,你可以在Ubuntu上輕松地備份和恢復MySQL數據庫。