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. html - 移动端radio无法选中2. html - IOS二维码识别问题3. mysql - 这条联合sql语句哪里错了4. javascript - vue-resource如何终止之前的ajax请求?5. mysql - 数据库JOIN查询6. python - 用scrapy-splash爬取网站 为啥iframe下的内容没有被返回7. 我设置的背景怎么显示不出来8. mysql - 数据库建字段,默认值空和empty string有什么区别 1109. 关于Navicat连接到mysql,我改了root的密码后,Navicat连接报错1862?10. 正则表达式 - python pandas的sep参数问题
