测试库机器主板出现问题总是重启,于是安排了Oracle和MySQL都迁移到新的机器上,Oracle迁移用Rman导出导入就行了,注意要导出archive log和control file,没啥难度。MySQL老的测试机上用的是5.6版本NDB引擎,新的测试机上搭建的5.7的单节点数据,遇到一些坑,记录下避免以后再犯傻。
由于老的机器用的5.6是NDB,新的是单节点的innodb,所以在迁移的时候要考虑存储引擎的设定。既然选择单节点5.7 innodb,那意味着我即将放弃NDB,所以在用MySQLdump导出数据的时候,我需要将结构种NDB改成innodb。
MySQLdump是MySQL自带的一个数据库导出工具,功能涵盖了数据高速导入导出、结构高速导入导出。即可以用来进行高速的数据库迁移,也可以用来进行数据导入。
操作命令很简单,mysqldump +参数
一般情况就是:
mysqldump -uroot -p --database 数据库名 > 导文件
以上语句是数据库结构和数据一起导出
如果我不指定数据库,即不加--database参数,那就是默认全部数据库及其数据导出,这里有点需要注意的,很多帖子只简单的描述了这里的命令,但是这里有个常用的细微差别判断:
mysqldump如果我要导出一个数据库,写法有两种:
一:
mysqldump -uroot -p --database A > /data/a.sql
二:
mysqldump -uroot -p A > /data/a.sql