MySQL 备份和检查修复问题?
问题描述
1、mysqlcheck 和 myisamchk 是不是只能检查和修复MyISAM引擎的表呢?如果要检查,修复,优化Innodb表的话,这两个命令可以用吗?看网上还像说这两个命令只能针对MyISAM表做操作,Innodb不行的,求解,这个到底是怎么回事呢?
2、我知道MyISAM表备份是可以直接导出的,或者直接复制data文件夹就可以了。但是innodb备份的时候,如果复制data文件夹,则需要先停止mysqld服务。
---------------那么问题来了:
-------------------1、MyISAM和innodb这两种表是否都可以通过导出sql的方式进行备份,因为我以前导出过,发现之后导入是用也是正常的。可是在别的地方说这种方式innodb有时候会出问题
-------------------2、如果是直接复制data文件夹的话,那么停止mysqld服务后,是否就能确保这两种表都能完美备份?
-------------------* 一般我喜欢直接.sql形式导出备份数据表,那么假如一个数据库中涉及到这两种表,我该怎么备份比较好呢?
求解,谢谢大神。
问题解答
回答1:你看你是热备还是冷备
如果你是热备的话可以用mysqldump进行热备,但是这样会锁表,应用无法向数据库进行写操作,如果必须有写操作的话,可以使用xtrabackup热备工具,支持在线热备,对innodb表不会有读写影响,但是对myisam表会锁住,如果你库里面大部分是myisam表的话,还是直接mysqldump吧。
如果是冷备,可以关闭服务的话,那么就直接逻辑备份了,(假如是myisam引擎表,那么就很爽了,直接备份datadir里面的数据文件即可,可以物理恢复数据的),innodb引擎表需要备份ibdata文件、*.frm文件和my.cnf,设置innodb_data_file_path来制定原先的ibdata路径
相关文章:
1. javascript - vuejs 怎么清空url带参数的值2. java - jdbc如何返回自动定义的bean3. mysql - 为什么where条件中or加索引不起作用?4. mysql - 这条联合sql语句哪里错了5. Android 高德地图如何实现拖动平移地图时地图上的小图标不动?6. html5 - vue项目中vuex存储问题7. browsersync检测的静态页面只能用index.html命名,用demo.html就不能实时同步,检测动态页面的时候,比如wamp环境下,用browsersync能打开页面,但不能实现同步8. html5 - H5 SSE的本质是什么?9. angular.js - angularjs 百度统计怎么统计10. flask后台python返回到html显示问题
