MySQL数据转储

  1. 1、使用 Navicat
    1. 使用转储功能
    2. 使用传输功能
  2. 2、文件直接转储
  3. 3、mysqldump 转储

这几天有个需求,就是把机器 A 的 MySQL 的数据转储到机器 B 的 MySQL 中,看了这个数据库只有一个表,但是这个表有 132215932 条记录,转储时出了些问题。
刚开始是 Oracle 的数据,经过 dump 放入 Oracle 然后转入 MySQL, 文件大小占 15.5 G。
虽然数据量并不是很大,但是这却让原本的常规操作出问题。

1、使用 Navicat

使用转储功能

直接用 Navicat 之类的工具转储,数据量不大的时候妥妥的,但这次不一样,开始认为不论哪个版本基本运行 sql 文件应该不会出问题,后来在 B、C 机器还原时候报错很多,所以还原算是失败了。

使用传输功能

这个在 Oracle 转 MySQL 时用到过,如果两台机器在同一个局域网,那这个方法妥妥的。

2、文件直接转储

这算是一种很快的转储方式,但要求很苛刻,这个方法对于两个机器的 MySQL 版本要求得很一致才行,在 MySQL5.x 的版本中,data 文件夹各个数据库存的基本上有 opt、frm、ibd 文件,而 MySQL8 只有 ibd 文件,先不说 5 和 8 的区别,在 5.x 各版本之间也是有差异的,至少在文件直接转储时候出错了,报 不存在xxx表 之类的错误,甚至连 MySQL 服务都无法重启。

3、mysqldump 转储

直接使用 MySQL 自带的工具 mysqldump 来转储,经过实践,这个方法可行,耗时 1.7 小时。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以邮件至feicyblog@hotmail.com