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

数据库迁移方案

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

1 常用的迁移方案介绍

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

1.1 mysqldump命令

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

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

mysqldump命令参数说明

参数名缩写含义
–host-h服务器IP地址
–port-P服务器端口号
–user-uMySQL 用户名
–password-pMySQL 密码
–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数据库表锁定,将存在内存中的数据写入磁盘之中,命令如下

mysql>flush tables with read lock;

在这里插入图片描述

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

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

在这里插入图片描述

​ 命令参数说明:

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

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

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

建库语句:

mysql>create database dbName;

在这里插入图片描述

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

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

在这里插入图片描述

命令参数说明:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牧码文

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值