MYSQL数据库迁移大数据库的几个小技巧!
问题描述:
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
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目录下才可