MYSQL数据库迁移大数据库的几个小技巧!

  • 2017-05-04
  • 0

问题描述:

1、源MYSQL数据库旧5.1.73,新5.6.35

2、其中有表A存在2千万条数据,近8个G。

3、服务器空间仅剩4G

4、传统数据备份导出SQL方法效率太低, 且服务器空间不足。

5、数据库版本不对,无法直接打包数据文件方法,

解决方法:

利用MYSQLDUMP配合管道命令同步导出并GZIP压缩数据文件。

导出并同步压缩

 

mysqldump -uroot -pxxxxx dbname tablename |gzip >a.sql.gz

解压同步导入

 

gunzip <a.sql.gz | mysql -uroot -pxxxx

 

MYSQLDUMP用法:

MySQL导入导出命令 
1.导出整个数据库 
mysqldump -u 用户名 -p 数据库名 > 导出的文件名 
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql 
2.导出一个表 
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名 
mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql 

3.导出一个数据库结构 
mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:wcnc_db.sql 
-d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table 

4.导入数据库 
常用source 命令 
进入mysql数据库控制台, 
如mysql -u root -p 
mysql>use 数据库 
然后使用source命令,后面参数为脚本文件(如这里用到的.sql) 
mysql>source d:wcnc_db.sql (注:如果写成source d:/wcnc_db.sql,就会报语法错误) 
注意:使用导入数据库命令的数据库文件必须在mysql的bin目录下才可