You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何无需额外软件在两台Linux主机间迁移MySQL数据库,避免重复写SQL?

嘿,这个需求太常见了!不用额外装软件完全没问题——咱们直接用MySQL自带的工具加上Linux原生命令就能搞定,全程都是系统默认就有的东西,省得折腾安装包。下面一步步给你说清楚:

步骤1:在源Linux机器上导出数据库

MySQL自带的mysqldump就是干这个的,完全不用额外安装:

  • 打开源机器的终端,导出单个目标数据库(假设你的库名叫mydb,MySQL用户名是root):
    mysqldump -u root -p mydb > mydb_backup.sql
    
    执行后输入MySQL密码,回车就会在当前目录生成mydb_backup.sql,里面包含了这个库的所有表结构和数据。
  • 如果要导出所有数据库,用这条命令:
    mysqldump -u root -p --all-databases > all_dbs_backup.sql
    
步骤2:把备份文件传到目标Linux机器

Linux原生的scp命令就能完成跨机器文件传输,默认就有:

  • 在源机器的终端里,把备份文件传到目标机器(假设目标机器IP是192.168.1.100,目标机器用户名是target_user,要传到/home/target_user/目录):
    scp mydb_backup.sql target_user@192.168.1.100:/home/target_user/
    
    输入目标机器的用户密码后就开始传输了。
  • 要是你在目标机器上操作,也可以反过来从源机器拉取文件:
    scp source_user@192.168.1.50:/path/to/mydb_backup.sql /home/target_user/
    
步骤3:在目标Linux机器上导入数据库

先确保目标机器已经装了MySQL服务,然后按下面来:

  • 先创建对应的空数据库(如果是导出单个库的话):
    先进入MySQL命令行:
    mysql -u root -p
    
    输入密码后执行SQL创建库:
    CREATE DATABASE mydb;
    EXIT;
    
  • 然后导入备份文件:
    mysql -u root -p mydb < /home/target_user/mydb_backup.sql
    
    输入密码后等待执行完成就行。
  • 如果是导入所有数据库,直接用这条命令(不用提前创建库):
    mysql -u root -p < /home/target_user/all_dbs_backup.sql
    
一些实用小提醒
  • 尽量保证源机器和目标机器的MySQL版本接近,避免版本差异导致的兼容性问题(比如某些新语法在旧版本不支持)。
  • 如果数据库很大,导出和导入会花点时间,别中途中断终端连接,耐心等就行。
  • 要是网络慢,也可以用rsync代替scp传输文件,同样是Linux原生工具,稳定性更好。

内容的提问来源于stack exchange,提问作者AKASH GUDADHE

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:16:39