如何将同一服务器下MySQL数据库的表复制到另一个数据库
数据库表全量记录复制操作指南
同数据库实例内复制(最简方案)
- 仅需复制表结构+所有记录,直接执行单条SQL即可:
CREATE TABLE 新表名 AS SELECT * FROM 源表名;
若需要同时复制主键、索引、约束等属性,分两步执行:
- 先复制完整表结构:
CREATE TABLE 新表名 LIKE 源表名;- 再全量导入所有记录:
INSERT INTO 新表名 SELECT * FROM 源表名;
跨数据库/跨实例复制(无额外工具方案)
- 10万条记录以内的小表:用数据库客户端自带功能即可
- 选中源表选择导出为SQL格式,勾选「导出全部数据」选项生成.sql文件
- 连接目标库执行该.sql文件,自动完成结构和记录全量迁移
- 10万条记录以上的大表:用数据库自带命令行工具效率更高
- MySQL/MariaDB 场景:
- 导出源表:
mysqldump -u你的用户名 -p 源库名 源表名 > 导出文件路径.sql - 导入目标库:
mysql -u你的用户名 -p 目标库名 < 导出文件路径.sql
- 导出源表:
- PostgreSQL 场景:
- 导出源表:
pg_dump -U 你的用户名 -d 源库名 -t 源表名 -f 导出文件路径.sql - 导入目标库:
psql -U 你的用户名 -d 目标库名 -f 导出文件路径.sql
- 导出源表:
- MySQL/MariaDB 场景:
迁移校验要点
- 迁移完成后分别对源表和新表执行
SELECT COUNT(*) FROM 表名,确认记录总数完全一致 - 包含自增主键的表,迁移后需确认目标表的自增序列当前值大于表内最大主键值,避免后续插入数据时报主键冲突错误
内容的提问来源于stack exchange,提问作者Balaji
相关产品推荐
相关产品推荐

