新MySQL环境导入旧数据应采用逻辑导出导入方式,确保版本兼容(旧≤新)、字符集统一为utf8mb4、引擎优先InnoDB;用mysqldump加--single-transaction等参数导出,再在新库校验配置后source导入。

新 MySQL 环境导入旧数据,核心是保证结构一致、数据完整、编码统一、权限可控。不建议直接拷贝文件(如 ibd、frm),尤其跨版本或跨平台时风险高;推荐使用逻辑导出导入方式。
一、确认新旧环境兼容性
检查 MySQL 版本(旧 ≤ 新较安全,如 5.7 → 8.0 需注意语法变更和默认认证插件)、字符集(推荐统一为 utf8mb4)、存储引擎(InnoDB 优先)。用以下命令查看:
SELECT VERSION();
SHOW VARIABLES LIKE 'character_set%';
SHOW VARIABLES LIKE 'collation%';
二、从旧库导出数据(推荐 mysqldump)
使用 mysqldump 生成可读、可移植的 SQL 文件。关键参数说明:
- --single-transaction:对 InnoDB 表保证一致性快照(避免锁表)
- --routines --triggers --events:导出存储过程、触发器、事件
- --set-gtid-purged=OFF:若不启用 GTID 或仅做迁移,关闭 GTID 相关语句
- --default-character-set=utf8mb4:显式指定导出编码,防乱码
示例命令(导出全部数据库):
Psky企业网站是基于PHP+MYSQL开发的一款企业官网宣传网站,支持PC、wap浏览。 主要功能包括导航管理、轮播新闻、单位动态、通知通报、单位简介、后台管理等。运行环境下载安装PHPStudy(小皮)即可。系统采用PHP语言(版本:7.3.4nts)和MYSQL(版本:5.7.26)数据库进行开发,安装PHPStudy(小皮)集成环境进行测试通过。安装步骤:1、导入SQL文件到PHPmyad
mysqldump -u root -p --single-transaction --routines --triggers --events --default-character-set=utf8mb4 --all-databases > full_backup.sql
三、在新库中导入数据
导入前确保新实例已创建对应用户、权限,并校验字符集配置(my.cnf 中 character-set-server = utf8mb4 和 collation-server = utf8mb4_0900_ai_ci)。操作步骤:
- 登录新 MySQL:
mysql -u root -p - 执行导入:
source /path/to/full_backup.sql(推荐在 mysql 客户端内执行) - 或终端命令导入:
mysql -u root -p
大文件导入时,建议先关闭自动提交:SET autocommit=0;,导入完成后再 COMMIT;,可提升速度。
四、验证与收尾
导入后务必验证:
- 检查库表数量是否一致:
SELECT COUNT(*) FROM information_schema.tables WHERE table_schema NOT IN ('mysql','sys','information_schema','performance_schema'); - 抽样查关键表行数、字段内容、中文是否正常
- 测试存储过程、触发器是否可调用,时间字段是否时区正确(注意
time_zone设置) - 重置用户权限(旧 dump 中的
CREATE USER和GRANT可能不适用新环境,建议手动重建)









