如何高效执行MySQL数据库的备份与恢复操作?
- 行业动态
- 2024-10-14
- 2959
要恢复MySQL数据库,请使用以下命令:,,“
,mysql u 用户名 p 数据库名``
MySQL备份与恢复数据库

备份MySQL数据库
1、使用mysqldump进行逻辑备份
备份单个数据库:
mysqldump u [user] p[password] [database_name] > backup.sql
备份所有数据库:

mysqldump u [user] p alldatabases > backup_all.sql
备份特定表:
mysqldump u [user] p [database_name] [table_name] > backup_table.sql
备份时添加时间戳:
mysqldump u [user] p [database_name] > backup_$(date +%F).sql
2、使用mysqlpump进行逻辑备份
备份单个数据库:

mysqlpump u [user] p [database_name] > backup_pump.sql
备份所有数据库:
mysqlpump u [user] p alldatabases > backup_all_pump.sql
3、使用xtrabackup进行物理备份
完整备份:
xtrabackup backup targetdir=/path/to/backup user=[user] password=[password]
增量备份:
xtrabackup backup targetdir=/path/to/backup_incremental incrementalbasedir=/path/to/previous_backup user=[user] password=[password]
4、使用cp命令进行物理备份
关闭MySQL服务:
systemctl stop mysql
复制数据库文件:
cp r /var/lib/mysql /path/to/backup/
启动MySQL服务:
systemctl start mysql
恢复MySQL数据库
1、恢复逻辑备份
恢复单个数据库:
mysql u [user] p [database_name] < backup.sql
恢复所有数据库:
mysql u [user] p < backup_all.sql
恢复特定表:
mysql u [user] p [database_name] < backup_table.sql
2、恢复物理备份
关闭MySQL服务:
systemctl stop mysql
恢复数据文件:
cp r /path/to/backup/* /var/lib/mysql/
修改文件权限:
chown R mysql:mysql /var/lib/mysql/
启动MySQL服务:
systemctl start mysql
3、使用xtrabackup恢复物理备份
准备备份数据:
xtrabackup prepare targetdir=/path/to/backup
恢复数据:
xtrabackup copyback targetdir=/path/to/backup
修改文件权限:
chown R mysql:mysql /var/lib/mysql/