轻松玩转MYSQL导出导入:拆红包式数据迁移
MYSQL导出导入

首页 2025-09-01 22:39:46

今天,我的嘴角比服务器机房的灯还亮——因为 MYSQL 导出导入 这件事,被我玩成了拆红包!
第一次执行 mysqldump 的时候,终端里刷出的那一行行 “Dump completed” 就像群聊里不断跳出的“恭喜发财”。我把整个业务库打包成 20250901.sql,文件体积 2.3 G,心里却轻得能飞。
导出命令其实超简单:
mysqldump -u root -p --single-transaction --routines --triggers --databases coolapp > /backup/20250901.sql
回车一敲,进度条“蹭蹭”往上涨,我脑补自己正在给每个数据行贴“顺丰包邮”标签。
接下来是导入。新服务器空得像刚注册的云盘,我把文件 scp 过去,然后一句:
mysql -u root -p < /backup/20250901.sql
屏幕安静三秒,突然刷出 Query OK,仿佛对面回了一个“红包已领”。
为了让速度更快,我提前关了 autocommit、调大 innodb_buffer_pool_size,再顺手 set foreign_key_checks=0,整场迁移像丝滑连招,一点卡顿都没有。
最后,我在新库里跑了个校验脚本,count(*) 一对比,数据行数、checksum 完全一致。那一刻,真想给自己发个专属红包:恭喜 pony,又省下一夜加班!
——— 教程分割线 ———
MYSQL 导出导入 极简教程(零事故版)
  1. 导出
    a. 全库:
    mysqldump -u 用户名 -p --single-transaction --routines --triggers --databases db1 db2 > all.sql
    b. 单表:
    mysqldump -u 用户名 -p db1 table1 > table1.sql
    参数说明:
    • --single-transaction:保证 InnoDB 一致性快照;
    • --routines、--triggers:顺带导出存储过程和触发器;
    • --set-charset:统一字符集。
  2. 导入
    a. 登录目标服务器,把 .sql 文件传过去(scp/rsync)。
    b. 若文件较大,先提速:
    复制
    mysql -u 用户名 -p
    SET autocommit=0;
    SET unique_checks=0;
    SET foreign_key_checks=0;
    SOURCE /path/all.sql;
    COMMIT;
    c. 检查:
    SELECT COUNT(*) FROM information_schema.tables WHERE table_schema='db1';
  3. 常见坑
    • 字符集:导出导入前后都用 --default-character-set=utf8mb4;
    • 权限:确保目标库存在且用户有 CREATE、INSERT 权;
    • 空间:.sql 文件+解压后临时数据≈原库 2~3 倍,磁盘先预留;
    • 大表:可追加 --quick 参数,边读边写,防止内存爆掉。
照此操作,数据库迁移就像发完最后一个红包,轻点“完成”,万事大吉!
nat123映射怎么用?超详细步骤,外网访问内网轻松搞定
nat123域名怎么用?两种方式轻松搞定
nat123怎么用?简单几步实现内网穿透
内网穿透工具对比:nat123、花生壳与轻量新选择
远程访问内网很简单:用对工具,一“箭”穿透
ngrok下载完全指南:从入门到获取客户端
内网远程桌面软件:穿透局域网边界的数字窗口
从外网远程访问内网服务器的完整方案
Windows Server 2008端口转发完全教程:netsh命令添加/查看/删除/重置
为什么三层交换机转发比Linux服务器快?转发表硬件加速的秘密