最近做一个项目,其中有一套历史数据库,采用的是比较简单的双机互备模式,互备机制不是通过Mysql本身的配置,而是用的第三方软件,目前已经运行了一段时间,效果还算不错。
不过前天技术人员反馈不能连接历史库了,经过远程查看Mysql服务已经停止运行,分析日志后发现报出的是[MY-]错误,故障就是部分表数据损坏,按照一般的做法就是innodb_force_recovery设为>0进行恢复,这个参数对于简单的损坏是可以的,但是这个项目上的故障并不生效,因此为了保证数据安全,采用了最原始的导出再导出的方法,缺点就是耗时比较长,不过总算恢复正常了。
这里就突出定期备份的重要性了,如果出现问题直接恢复近期的备份即可,如何进行备份呢,这里介绍3种方式:
第一种:利用第三方工具,前面讲的双机互备软件,一般是支持进行快照的,并且可以定时定期自动完成,这是比较理线的方法,不过一般是收费的。
第二种:利用MysqlWorkbench,这个工具是Mysql自带的图形化界面管理工具,备份功能非常完善
导出界面导入界面第三种:直接使用命令进行备份,简单有效,高手首选
以管理员运行cmd界面,进入到Mysql安装目录的bin下面,执行如下命令:
mysqldump-u[用户名]-p[密码][数据库名称][表名]D:\备份文件名.sql
PS:mysqldump命令常用的参数
--all-databases,-A导出全部数据库。
--all-tablespaces,-Y导出全部表空间。
--force在导出过程中忽略出现的SQL错误。