>데이터 베이스 >MySQL 튜토리얼 >MySQL数据复制、迁移、转换

MySQL数据复制、迁移、转换

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-06-07 17:16:081230검색

本文总结各种场景下的mysql数据复制、迁移、转换。1、导入、导出利用mysqldump命令将数据文件导出成一个文本文件,这在不同场景下

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

1、导入、导出

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

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

数据导入:mysql -uroot -p dbname

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

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

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

 

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

a、以下sql适用于小量数据,速度快。

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

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

    linux

    성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.