一、 数据迁移简介
所谓的数据迁移,就是指将原有的数据库系统迁移到另外一个业务系统上
数据迁移的原因是多种多样的,有可能是业务变更、硬件升级、平台切换或升级mysql数据库
迁移的注意事项:
(1)、相同版本可以迁移
(2)、注意版本可以使用的引擎
(3)、低版本可以向高版本进行数据迁移,高版本一般兼容低版本的特性
(4)、高版本的数据不能向低版本进行数据迁移,会出现数据不兼容的情况
(5)、迁移是请注意导出数据和备份数据,出现迁移失败时,立即启动备份方案,保证公司业务的正常运行
(6)、在数据迁移时,要选择用户量最小的时候,大部分在凌晨1-4点之间做数据迁移
(7)、在数据迁移时,请先写好你的技术文档,在本地做完整的测试之后,方可尝试数据迁移
(8)、DBA在迁移数据时,需要相关人员联合支持(主程序员、测试人员、运维人员等)保证数据迁移后的安全和稳定性
二、数据迁移需要用到的一些知识
1、 数据库备份工具Mysqldump (1)、正式环境数据备份: mysqldump -uroot -p123456 -h 10.0.0.254 -P 3306 zytest --single-transaction --flush-logs --routines --events --master-data=2 > zytest.sql --single-transaction 选项在到出数据之前提交一个Begin SQL语句,Begin不会阻塞如何的程序和保证数据的一致性 --flush-logs 开始到处之前刷新日志, --routines 导出存储过程和自定义函数 --evets 导出事件 --master-data 将binlog的位置和文件名追加的输出到文件中.这选择将自动关闭--lock-tables(锁表) (2)、本地使用root用户备份,备份某个库的某一个表 语法:mysqldump -uusername -ppassword dbname table1 table2 >bakcup.sql 举例: mysqldump -uroot -pzy123 zytest vendors >vendors.sql (3)、备份多个库,需要加上--databases mysqldump -uroot -pzy123 --databases zytest feng >backup.sql (4)、备份所有库 mysqldump -uroot -pzy123 --all-databases >all.sql
2、 mysql命令可以进行数据恢复 (1)、恢复数据库(如:zytest) mysql -uroot -pzy123 <zytest.sql (2)、恢复数据库的某个表 vendors mysql -uroot -pzy123 zytest <vendors.sql