mysql数据迁移

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

一、导入、导出linux

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

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

数据导入: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运维

 

二、将一张表的数据转换到另外一张表、而且更新表结构ide

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)、架构、部署、调优、排错、安全方案、低成本解决中小量攻鸡、业务上云(全部公有云)

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

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

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

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

联系方式:QQ:278566109

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

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

相关文章
相关标签/搜索