在 Linux 下备份 MySQL 数据,常用且可靠的方式是使用 mysqldump,此外还有物理备份和第三方工具。下面按常见场景给你说明。
mysqldump -u 用户名 -p 数据库名 > backup.sql
示例:
mysqldump -u root -p testdb > testdb_20260121.sql
mysqldump -u root -p --databases db1 db2 > multi_db.sql
mysqldump -u root -p --all-databases > all_db.sql
mysqldump -u root -p testdb | gzip > testdb.sql.gz
mysqldump -u root -p -d testdb > testdb_structure.sql
mysqldump -u root -p -t testdb > testdb_data.sql
mysql -u root -p 数据库名 < backup.sql
gunzip < testdb.sql.gz | mysql -u root -p testdb
mysql -u root -p < all_db.sql
在 /etc/my.cnf 或 ~/.my.cnf 中配置:
[client]
user=root
password=你的密码
然后:
mysqldump testdb > testdb.sql
⚠️ 注意文件权限:
chmod 600 ~/.my.cnf
xtrabackup --backup --target-dir=/backup/mysql
特点:
编辑定时任务:
crontab -e
每天凌晨 2 点备份:
0 2 * * * mysqldump -u root -p密码 testdb | gzip > /backup/testdb_$(date +%F).sql.gz
--single-transaction(InnoDB)如果你告诉我:
我可以帮你设计更合适的备份方案。