Heim >Datenbank >MySQL-Tutorial >MySQL数据复制、迁移、转换

MySQL数据复制、迁移、转换

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 17:16:081230Durchsuche

本文总结各种场景下的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

    Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn