MySQL数据库迁移方案比较和使用

ゝ一世哀愁。 2023-10-04 17:16 27阅读 0赞

数据库迁移方案

数据迁移(Data migration)是指在存储类型、格式和计算机系统之间的数据转换。

1 常用的迁移方案介绍

项目使用的数据存储技术是MySQL,关于MySQL的迁移方案大致分为三类:

1.1 mysqldump命令

mysql提供了对数据迁移需求的支持手段,mysqldump是MySQL自带的逻辑备份工具,它的备份原理是通过协议连接到MySQL数据库,根据参数转换,将需要操作的数据查询出来,然后将数据转换成相应的查询语句,生成sql脚本文件,将sql脚本拷贝到迁移机器上,执行脚本文件即可。

这种数据迁移方案被官方所支持,也是较为推荐使用的方案。因为该方法采用sql脚本命令进行数据库迁移,兼容性最好,准确性最高,只是速率会较慢。

mysqldump命令参数说明

















































































参数名 缩写 含义
–host -h 服务器IP地址
–port -P 服务器端口号
–user -u MySQL 用户名
–password -p MySQL 密码
–databases 指定要备份的数据库
–all-databases 备份mysql服务器上的所有数据库
–compact 压缩模式,产生更少的输出
–comments 添加注释信息
–complete-insert 输出完成的插入语句
–lock-tables 备份前,锁定所有数据库表
–no-create-db/–no-create-info 禁止生成创建数据库语句
–force 当出现错误时仍然继续备份操作
–default-character-set 指定默认字符集
–add-locks 备份数据库表时锁定数据库表
1.2 拷贝数据库文件目录

这种方式采用的是数据目录迁移,将数据库文件存档目录直接拷贝至要迁移的目标机器。

可以直接将mysql存储数据的目录copy下来,用ftp等方式上传至新主机的对应存储数据的目录下。该操作需要关闭两端的数据库服务,否则将产生错误。

该方法只支持myql的Myisam的表引擎。该方法迁移速度快,但因Mysql默认采用innodb引擎,适用场景少,且数据库版本升级后出错率高。

1.3 使用整盘迁移工具

采用云主机的第三方迁移工具,将整个磁盘文件直接进行迁移。

该方法迁移速度快,对业务中断时间短,但成本高,一般为收费工具。

2 项目数据迁移方案

基于项目实验数据特点及迁移过程的要求,综合比对三种数据迁移方案的优缺点之后,项目采用的数据迁移方案为第一种,使用MySQL自带的逻辑备份工具mysqldump将项目数据库转成sql脚本文件,然后拷贝sql脚本文件在目标机器上进行执行,完成数据迁移工作。

2.1 迁移数据库操作

在使用mysqldump进行迁移数据库之前,首先要将mysql数据库表锁定,将存在内存中的数据写入磁盘之中,命令如下

  1. mysql>flush tables with read lock;

在这里插入图片描述

用mysqldump将数据库中数据导出为sql文件

  1. C:\windows>mysqldump -uroot -p000000 AISDB > d:AIS\aisdb.sql

在这里插入图片描述

命令参数说明:






























参数 参数说明
mysqldump mysqldump命令
-uroot 数据库使用root用户登录
-p1234 数据库密码1234
AISDB 迁移数据库名为AISDB
>d:\Game\test.sql sql文件的存储路径
2.2 目标数据库导入操作

将sql文件拷贝到目标机器上,采用MySQL提供的sql脚本执行支持技术,将数据迁移的sql文件再转换成数据导入到目标机器。

注意,因为数据迁移转换的sql脚本不能自动生成数据库,所以在转换前需要建好数据库,数据库名可以根据需求设定。

建库语句:

  1. mysql>create database dbName;

在这里插入图片描述

使用MySQL数据库提供的mysql命令,执行sql语句将数据迁移到目标机器数据库中,执行语句

  1. C:\windows>mysql -uroot -p000000 AISDB < d:\AIS\aisdb.sql

在这里插入图片描述

命令参数说明:






























参数 参数说明
mysql mysql命令
-uroot 数据库使用root用户登录
-p1234 数据库密码1234
AISDB 迁移数据库名为AISDB
<d:\Game\test.sql 执行sql脚本写入数据库

发表评论

表情:
评论列表 (有 0 条评论,27人围观)

还没有评论,来说两句吧...

相关阅读