前言开发完成后需要将本地测试数据库迁移至线上云服务器分为导出本地备份、上传服务器、远程导入三步同时解决字符集、权限、自增冲突、外键报错等迁移常见问题。一、方案 1mysqldump 导出 上传导入最稳定步骤 1本地导出数据库备份# Windows cmd / Mac/Linux终端执行 mysqldump -uroot -p --single-transaction --default-character-setutf8mb4 shop_db shop_export.sql步骤 2上传 SQL 文件至服务器WindowsXshell、FinalShell 拖拽上传Mac/Linux scp 命令scp /本地路径/shop_export.sql root服务器IP:/home/步骤 3服务器端导入数据登录服务器 MySQL提前创建空数据库CREATE DATABASE IF NOT EXISTS shop_db DEFAULT CHARSET utf8mb4;执行导入mysql -uroot -p shop_db /home/shop_export.sql二、方案 2远程直接导出无需本地存文件本地直接连接远程库导出或本地库推送到远程# 本地库直接备份到远程服务器 mysqldump -uroot -p shop_db | mysql -h远程IP -u远程账号 -p shop_db三、迁移高频报错解决中文乱码导出、导入统一添加参数--default-character-setutf8mb4数据库字符集统一 utf8mb4。外键约束导入失败导入前临时关闭外键校验SET FOREIGN_KEY_CHECKS 0; SOURCE /home/shop_export.sql; SET FOREIGN_KEY_CHECKS 1;主键自增冲突线上库清空测试数据再导入或导出时忽略自增冲突。远程访问被拒绝线上数据库账号开放远程访问权限CREATE USER shop% IDENTIFIED xxx; GRANT ALL ON shop_db.* TO shop%; FLUSH PRIVILEGES;四、迁移校验步骤导入完成后统计表行数对比本地与线上数量随机查询几条数据核对内容无丢失、乱码测试增删改功能验证外键、索引正常生效。