mysqldump -u用户名 -p密码 数据库名 > 备份文件名.sql 这是最简单的备份命令。比如:mysqldump -uroot -p123456 mydb > mydb.sql 然后输入密码就能备份了。恢复的时候 mysql -u用户名 -p密码 数据库名 < 备份文件名.sql 超级简单,避免数据丢失的最佳方式。
使用mysqldump命令备份MySQL数据库
打开命令行,输入 mysqldump -h主机名 -u用户名 -p 数据库名 > 备份文件.sql 例如 mysqldump -uroot -p mydatabase > backup.sql 备份完成后,可以用mysql命令恢复:mysql -uroot -p mydatabase < backup.sql 这样就能高效备份和恢复了。
完整备份脚本分享
#!/bin/bash DB_USER="root" DB_PASS="password" DB_NAME="mydb" mysqldump -u$DB_USER -p$DB_PASS $DB_NAME > /backup/$(date +%Y%m%d)_mydb.sql 这是一个自动备份脚本,每天运行就能避免数据丢失,记得设置cron定时任务。
热议:MySQL热备份技巧
使用 --single-transaction 参数可以实现热备份:mysqldump --single-transaction -u root -p dbname > backup.sql 这样备份过程中数据库还能正常使用,不中断服务,非常实用。
恢复数据库的详细步骤
先创建空数据库:CREATE DATABASE mydb; 然后 mysql -u root -p mydb < backup.sql 一步步来,确保数据完整恢复,避免丢失。
备份所有数据库
mysqldump --all-databases -u root -p > all_backup.sql 这条命令备份所有库,恢复时 mysql -u root -p < all_backup.sql 简单高效。
FAQ
Q: 备份文件怎么压缩?
A: 备份后用 gzip backup.sql 变成 backup.sql.gz,恢复时 gunzip 先解压。
Q: 忘记密码怎么备份?
A: 编辑 /etc/my.cnf 加 [mysqldump] user=root password=pass 然后直接 mysqldump。
Q: 大数据库备份慢怎么办?
A: 加 --quick --lock-tables=false 参数,加快速度。
Q: 怎么定时备份?
A: 用 crontab -e 加 0 2 * * * /path/to/backup.sh 每天凌晨2点自动跑。