当前位置:首页 > 问答 > 正文

数据库备份 远程操作 如何通过命令行实现远程导出数据库的方法与步骤

🚀 MySQL远程备份步骤(2025年8月更新)
1️⃣ 创建远程用户

   mysql -h 192.168.1.100 -u root -p -e "CREATE USER 'backup_user'@'%' IDENTIFIED BY 'StrongPassword123!'; GRANT ALL PRIVILEGES ON *.* TO 'backup_user'@'%'; FLUSH PRIVILEGES;"

🔑 提示:替换IP、用户名和密码,表示允许所有主机连接。

2️⃣ 执行备份命令

   mysqldump -h 192.168.1.100 -u backup_user -p'StrongPassword123!' --single-transaction --routines --triggers --all-databases > full_backup_$(date +%Y%m%d).sql

💾 说明--single-transaction确保一致性,--all-databases备份所有库。

3️⃣ 自动传输到远程服务器

   scp full_backup_$(date +%Y%m%d).sql user@remote_host:/backup/path

🌐 替代方案:使用rsync -avz压缩传输,或通过SSH隧道加密:

数据库备份 远程操作 如何通过命令行实现远程导出数据库的方法与步骤

   ssh -L 3307:localhost:3306 user@remote_host "mysqldump -u backup_user -p'password' --databases mydb" > local_backup.sql

🐘 PostgreSQL远程导出步骤(2025年8月更新)
1️⃣ 配置远程访问
修改pg_hba.conf,添加:

   host    all             all             192.168.1.0/24           scram-sha-256

🔄 重启服务systemctl restart postgresql

2️⃣ 执行备份命令

   pg_dump -h 192.168.1.100 -U backup_user -Fc -f /backup/mydb_$(date +%Y%m%d).dump mydb

🛠️ 选项说明-Fc为自定义格式,支持并行恢复。

数据库备份 远程操作 如何通过命令行实现远程导出数据库的方法与步骤

3️⃣ 远程导入数据

   pg_restore -h 192.168.1.200 -U backup_user -d mydb_new /backup/mydb_20250822.dump

📌 提示:目标库需提前创建。


🔒 安全增强技巧

  • SSH隧道加密
    ssh -NfL 5433:localhost:5432 user@remote_host  # 将远程5432端口映射到本地5433
    pg_dump -h localhost -p 5433 -U backup_user mydb
  • 备份加密
    mysqldump ... | openssl enc -aes-256-cbc -out encrypted_backup.sql.enc

📅 自动化备份计划

# MySQL每日备份(crontab)
0 2 * * * /usr/bin/mysqldump -h 192.168.1.100 ... > /backup/daily_$(date +\%Y\%m\%d).sql

📚 参考来源

  • 腾讯云《MySQL远程备份实践》(2025-08-05)
  • PostgreSQL官方文档《远程备份指南》(2025-08-14)
  • CSDN《PostgreSQL备份与恢复》(2025-07-31)

💡 小贴士:定期测试备份恢复流程,避免“备份成功但恢复失败”的尴尬!

发表评论