漫漫长路,其修远兮!
分类: Mysql/postgreSQL
2013-01-14 09:31:51
一.mysql启动
在mysql启动的时候可以配置innodb_force_recovery参数,设置不同的启动级别。只有在需要从错误状态的数据库进行数据备份时,才建议设置innodb_force_recovery的值大于0。当innodb_force_recovery被设置为大于0的值时,InnoDB阻止用户执行INSERT, UPDATE或DELETE操作
0 — 正常的关闭和启动,不会做任何强迫恢复操作;
1 — 跳过错误页,让mysqld服务继续运行。跳过错误索引记录和存储页,尝试用
SELECT * INOT OUTFILE ‘../filename’ FROM tablename;方式,完成数据备份;
2 — 阻止InnoDB的主线程运行。清理操作时出现mysqld服务崩溃,则会阻止数据恢复操作;
3 — 恢复的时候,不进行事务回滚;
4 — 阻止INSERT缓冲区的合并操作。不做合并操作,为防止出现mysqld服务崩溃。不计算
表的统计信息
5 — mysqld服务启动的时候不检查回滚日志:InnoDB引擎对待每个不确定的事务就像提交
的事务一样;
6 — 不做事务日志前滚恢复操作
二.mysql关闭
设置innodb引擎关闭的方式innodb_fast_shutdown,默认值为:1,正常关闭的状态。
0--表示在innodb关闭的时候,需要purge all, merge insert buffer,flush dirty pages。这是最慢的一种关闭方式,但是restart的时候也是最快的。后面将介绍purge all,merge insert buffer,flush dirty pages这三者的含义;
1--表示在innodb关闭的时候,它不需要purge all,merge insert buffer,只需要flush dirty page
2--表示在innodb关闭的时候,它不需要purge all,merge insert buffer,也不进行flush dirty page,只将log buffer里面的日志flush到log files。因此等下进行恢复的时候它是最耗时的。