mysql备份和恢复
mysqldump备份工具
正式环境数据备份:
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(锁表)
备份、恢复数据库下的表
# mysqldump -u root -paixocm --opt test c01 c02 c03 > /employees.sql
# mysql -u root -paixocm --database test < employees.sql
备份、恢复指定数据库
# mysqldump -u root -paixocm --opt --database test > /employees.sql
# mysql -u root -paixocm < employees.sql
备份多个数据库,需要加上--databases
# mysqldump -uroot -pzy123 --databases zytest feng >backup.sql
备份、恢复所有数据库
# mysqldump -u root -paixocm --opt --all-databases > /employees.sql
# mysqldump -uroot -pzy123 --all-databases >all.sql
锁定和解锁所有表 为了防止在备份时写入。
mysql> FLUSH TABLES WITH READ LOCK;
mysql> unlock tables;
========== 数据迁移 ===========
所谓的是数据迁移。就是指原有的数据库系统迁移到另外一个业务系统上。
数据迁移的原因是多种多样的,有可能是业务个业务变更,硬件升级或者平台切换,或者升级mysql数据库
迁移的注意事项:
(1)、相同的版本可以迁移
(2)、注意版本所以使用的引擎
(3)、低版本可以向高版本进行数据迁移,高版本一般兼容低版本的特性.
(4)、高版本的数据不能向低版本进行迁移,会找成数据不兼容的情况
(5)、迁移时请注意导出数据和备份数据,出现迁移失败时,立即启用预备方案,保证公司业务的正常运行
(6)、在数据迁移正常来说,选择用户量最小的时候,大部分都在凌晨1-4点之间做数据迁移
(7)、在数据迁移时,请先写好你的技术文档,在本地做完整的测试之后。方可尝试数据迁移
(8)、DBA在迁移数据、需要相关人员联合支持(主程序员、测试人员、运维人员)等保证数据迁移后的安全和稳定行。