🗄️ MySQL 数据备份是保障数据安全的重要环节,无论是本地数据库还是远程服务器,本教程提供最常用、最标准的备份与恢复命令示例。
一、本地 MySQL 数据库备份与恢复
📌 1. 本地备份数据库
备份命令格式:
mysqldump -u用户名 -p密码 数据库名 > 备份文件名.sql
⚠ 注意事项:
-u和-p后面不能有空格- 建议给备份文件加日期方便管理
示例:
mysqldump -uroot -p123 wordpress > /home/wwwroot/123-$(date +%Y%m%d).sql
输出:自动生成形如 123-20250101.sql 的文件。
📌 2. 本地恢复数据库
恢复命令格式:
mysql -u用户名 -p密码 数据库名 < 备份文件.sql
示例:
mysql -uroot -p123 wordpress < /home/wwwroot/123-20250101.sql
⚠ 恢复前确保目标数据库已存在:
CREATE DATABASE 数据库名;
二、远程服务器 MySQL 备份与恢复
🌐 1. 远程备份数据库
场景:本机连接远程 MySQL,将远程数据库备份到本地
命令格式:
mysqldump -h 远程IP -P 端口 -u用户名 -p密码 数据库名 > 本地备份文件.sql
示例:
mysqldump -h 11.22.33.44 -P 3306 -uroot -p123 wordpress > wordpress-$(date +%Y%m%d).sql
🌐 2. 远程恢复数据库
可将本地备份恢复到远程 MySQL:
命令格式:
mysql -h 远程地址 -P 端口 -u用户名 -p密码 要恢复的数据库 < 本地备份文件.sql
示例:
mysql -h 11.22.33.44 -P 3306 -uroot -p123 wordpress < wordpress-20250101.sql
📌 实用提示(必读)
✔ 导出包含表结构 + 数据
mysqldump 默认包含结构和数据,无需额外参数。
✔ 若备份大库,提高速度可添加:
mysqldump --single-transaction --quick --lock-tables=false ...
✔ 若远程连接失败,检查:
- MySQL 是否开放远程连接
bind-address是否为0.0.0.0- 用户是否授权远程访问:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION; FLUSH PRIVILEGES;
✔ 恢复前请确保数据库已创建:
CREATE DATABASE wordpress CHARACTER SET utf8mb4;