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. dockerfile - 为什么docker容器启动不了?2. python3.x - python多线程如何修改数据?3. 登录界面URL在服务器上无法找到4. mysql连表排序5. 代码如下,java用BigDecimal四舍五入怎么还有问题呀?哪种方式是完全没有问题的?6. javascript - 关于jquery的ajax post数据的问题7. docker-compose 为何找不到配置文件?8. sublime-text - sublime text 3中编译python(sublimeREPL),如何仅运行单行/选定部分9. css - width设置为100%之后列表无法居中10. angular.js使用$resource服务把数据存入mongodb的问题。

网公网安备