系统升级之Mysql数据垮库迁移

场景
系统升级时,需要将1.0的mysql数据迁移2.0,但是相关的表结构可能发生了改变,如果不使用程序,使用sql + mysql工具实现数据的迁移。

导出数据

使用mysqldump命令,将数据导出到文件:

mysqldump -u test-p -h localhost -P 3306 --complete-insert --extended-insert=FALSE --set-gtid-purged=OFF --lock-tables=false --databases=mydb table_1 table_2 > dump_tmp_table_1.sql;

-u:用户
-p:使用密码,稍后会让你输入
-h:mysql所在的机器
-P:大写,端口,默认3306
–no-create-info:不包含建表语句
–lock-tables:是否锁表,为了维护数据一致性,在备份时,设置为true,避免dump期间对表写操作

如果表结构变了,如果2.0对table_1增减了字段,或更名了字段,该如何处理?

场景:mydb中的表user(id,name,phone),需要将数据迁入新表mydb_new.user_new(id,name,mobile,age)

  1. 在旧库创建临时表user_tmp(id,name,mobile,age)
create temporary table user_tmp select id,name,phone as mobile from user;
  1. 使用mysqldump命令,导出临时表的数据
mysqldump -u test -p -h localhost -P 3306 --complete-insert --extended-insert=FALSE --set-gtid-purged=OFF --lock-tables=false --databases=mydb user_tmp > dump_tmp_user.sql;

然后按照下面的步骤导入数据到新表mydb_new.user_new。

导入数据

使用mysql命令就可以导入sql文件

mysql -u test-p -h localhost -P 3306 mydb_new < dump_tmp_table_1.sql;

-u:用户
-p:使用密码,稍后会让你输入
-h:mysql所在的机器
-P:大写,端口,默认3306

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值