mysql数据迁移框架_mysql数据迁移

本文总结各种场景下的数据复制、迁移、转换。

1、导入、导出

利用mysqldump命令将数据文件导出成一个文本文件,这在不同场景下具有更高的安全性。如:表引擎改变。

数据导出:mysqldump -uroot -p dbname  > dbname.sql (包含表结构和表数据)

数据导入:mysql -uroot -p dbname < dbname.sql

注意:导出的sql文件包含旧表信息,请修改其中的create table语句。在create之前会有一个DROP table 操作。如果没有注意到这点,原数据就会被删除。这种情况可以用下列的sql操作:

只导出:数据:mysqldump -uroot -p -t dbname > dbname.sql

只导出表结构:mysqldump -uroot -p -d dbname > dbname.sql

2、将一张表的数据转换到另一张表、并且更新表结构

a、以下sql适用于小量数据,速度快。mysql>create table innodb_table like myisam_table;  mysql>alter table innodb_table engine=innodb; mysql>insert into innodb_table select * from myisam_table;

b、更高效的办法是增量的填充表,在填充每个增量数据块时都提交事务,这样就不会导致撤销日志过大,假设id是主键,可以重复运行一下查询(每次逐渐增大x和y值)直到所有数据都复制到新表。mysql>start transaction; mysql>insert into innodb_table select * from myisam_table where id between x and y;  mysql>commit;

转移操作完成后,源表仍会保留,可以在完成操作后DROP它,注意:如有必要,在转换时加锁源表,防止在转换时数据不一致。

博主仍从事运维行业,拥有10年+ 一线运维经验,技术上靠得住(还行吧),生活不容易,纯粹补贴家用,时间充裕,与有需要的朋友 互相帮助。

业务范围:网站、服务器、系统(linux|windows)、架构、部署、调优、排错、安全方案、低成本解决中小量攻鸡、业务上云(所有公有云)

合作形式:代维、兼职、临时技术支持

合作理念:诚信第一、信任是基石、不解决问题不收钱、完工才收

职业操守:讲诚信和绝不影响用户数据安全,您信任后再合作

客户监督:本博文评论一直开放,合作的朋友们可自由发表合作后对我的评价(坏朋友请放过我吧0_0)

联系方式:QQ:278566109

自评:我的技术不是很好也不是很差,自信能解决绝大多数问题。截止目前合作过的项目20个左右。相信合作后不会让您失望。

鉴于运维的敏感性,信任是很重要的,有需要的朋友们可以联系我,谢谢照顾与支持,感恩~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于CentOS 7上的MySQL数据迁移,您可以采取以下步骤: 1. 在新的服务器上安装MySQL 5.7,并确保它与旧服务器上的版本相同。 2. 在新服务器上创建一个与旧服务器相同的数据库和用户,并授予适当的权限。 3. 在旧服务器上停止MySQL服务。 4. 在新服务器上启动MySQL服务,并确保它正在运行。 5. 在旧服务器上导出数据库: ``` mysqldump -u [username] -p[password] [database_name] > [file_name].sql ``` 6. 将导出的文件传输到新服务器。 7. 在新服务器上导入数据库: ``` mysql -u [username] -p[password] [database_name] < [file_name].sql ``` 8. 确认数据是否已成功导入。 对于CentOS 7上的MySQL 5.7主从数据迁移,您可以采取以下步骤: 1. 在新服务器上安装MySQL 5.7,并确保它与旧服务器上的版本相同。 2. 在新服务器上创建一个与旧服务器相同的数据库和用户,并授予适当的权限。 3. 在旧服务器上停止MySQL服务。 4. 在新服务器上启动MySQL服务,并确保它正在运行。 5. 在主服务器上执行以下命令: ``` FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS; ``` 6. 记下"File"和"Position"的值。 7. 在主服务器上导出数据库: ``` mysqldump -u [username] -p[password] --master-data=1 [database_name] > [file_name].sql ``` 8. 将导出的文件传输到新服务器。 9. 在从服务器上导入数据库: ``` mysql -u [username] -p[password] [database_name] < [file_name].sql ``` 10. 在从服务器上执行以下命令: ``` CHANGE MASTER TO MASTER_HOST='[主服务器IP地址]', MASTER_USER='[主服务器用户名]', MASTER_PASSWORD='[主服务器密码]', MASTER_LOG_FILE='[File的值]', MASTER_LOG_POS=[Position的值]; START SLAVE; ``` 11. 确认数据是否已成功导入并且主从同步正常。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值