暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

单个数据库迁移

李记伟 2025-09-24
44
  1. 备份源数据库(生产环境)
  2. 使用mysqldump工具备份指定数据库

mysqldump -u [用户名] -p[密码] --databases [数据库名] > [备份文件名].sql

例:mysqldump -u root -p123456 --databases mydb > mydb_backup_20250904.sql

  1. 更完善的备份命令(包括存储过程,事件,触发器)

mysqldump -u [用户名] -p[密码] --databases [数据库名] \

--routines --events --triggers --single-transaction \

--default-character-set=utf8mb4 > [备份文件名].sql

--routines:备份存储过程和函数

--events:备份事件

--triggers:备份触发器

--single-transaction:确保数据一致性(InnoDB 引擎)

--default-character-set:指定字符集

二:将备份文件传输到测试环境

Scp工具

scp mydb_backup_20250904.sql [测试服务器用户名]@[测试服务器IP]:/tmp/

例如:

三、在测试环境还原数据库

1.登陆到m测试环境的mysql

mysql -u [测试环境用户名] -p[测试环境密码]

  1. 创建目标数据库(如果不存在)

检查源库配置

SHOW CREATE DATABASE 原库名;

输出示例

CREATE DATABASE `testdb` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */;

在目标数据库使用相同配置

CREATE DATABASE IF NOT EXISTS <数据库名testdb>

CHARACTER SET <字符集utf8mb4>

COLLATE <排序规则utf8mb4_unicode_ci>;

exit;

3.执行还原操作

mysql -u [测试环境用户名] -p[测试环境密码] [数据库名] < /tmp/mydb_backup_20250904.sql(批量导入)

SOURCE /tmp/db.sql;(单一文件导入)(进入到mysql执行)

  1. 验证还原结果
  2. 登陆到测试环境的mysql

mysql -u [测试环境用户名] -p[测试环境密码]

  1. 检查数据库是否存在并验证数据

-- 查看数据库列表(确认新数据库已存在)

SHOW DATABASES;

-- 使用还原的数据库

USE [数据库名];

-- 查看表结构

SHOW TABLES;

-- 抽查部分数据

SELECT COUNT(*) FROM [表名];

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论