安裝完 mysql 后,備份數據庫可通過以下方法操作:一、使用 mysqldump 命令備份,基本命令為 mysqldump -u 用戶名 -p 數據庫名 > 備份文件.sql,可加 –single-transaction 參數保證一致性;二、設置 crontab 定時任務實現自動備份,編寫腳本并配置每天凌晨2點執行;三、恢復備份時用 mysql -u 用戶名 -p 數據庫名
安裝完 MySQL 后,備份數據庫是保障數據安全的重要一步。很多人第一次操作時可能會覺得有點復雜,其實只要掌握幾個基本方法,日常備份并不難。
一、使用 mysqldump 命令備份(最常用)
這是 MySQL 自帶的邏輯備份工具,適合大多數場景。基本命令格式如下:
mysqldump -u 用戶名 -p 數據庫名 > 備份文件.sql
例如,備份名為 mydb 的數據庫:
mysqldump -u root -p mydb > mydb_backup.sql
輸入密碼后,就會在當前目錄生成一個 .sql 文件,里面包含了重建數據庫的 SQL 語句。
小建議:
- 可以加上 –single-transaction 參數來保證備份一致性(適用于 InnoDB)。
- 如果要備份所有數據庫,可以用 -A 或 –all-databases 參數。
二、定期自動備份設置(用 crontab 實現)
手動備份容易忘記,推薦設置定時任務。linux 下一般用 crontab 來定時執行備份腳本。
-
編寫一個備份腳本,比如 backup_mysql.sh:
#!/bin/bash DATE=$(date +%Y%m%d) mysqldump -u root -p你的密碼 mydb > /backup/mydb_$DATE.sql
-
給腳本添加執行權限:
chmod +x backup_mysql.sh
-
添加定時任務(每天凌晨2點運行):
crontab -e
添加這一行:
0 2 * * * /path/to/backup_mysql.sh
這樣就實現了每天自動備份,并按日期命名保存。
三、恢復備份的方法也別忘了
備份只是第一步,能恢復才是關鍵。恢復數據庫也很簡單,只需要導入 .sql 文件:
mysql -u 用戶名 -p 數據庫名 < 備份文件.sql
如果備份的是整個實例(用了 –all-databases),恢復時可以不指定數據庫名:
mysql -u root -p < all_backup.sql
注意:恢復前最好確認目標數據庫為空或可覆蓋,否則可能引起沖突。
四、備份文件存哪更安全?
備份文件不能只放在本地服務器上,一旦磁盤損壞或者被攻擊就全沒了。建議:
- 定期把備份文件拷貝到外網存儲或云盤
- 使用 rsync 或 scp 自動上傳到遠程服務器
- 保留多個時間點的備份,防止誤刪后無法找回
有些公司會采用“3-2-1”原則:至少3份副本,存在2種不同介質,其中1份在異地。
基本上就這些。備份這事不復雜,但很容易被忽略,尤其是剛裝好 MySQL 的時候。早點配置起來,以后省心不少。