欢迎来到天天文库
浏览记录
ID:39622304
大小:253.50 KB
页数:49页
时间:2019-07-07
《系统构架及备份和恢复》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、生物信息学数据库设计第八章系统构架及备份和恢复本章重点掌握MySQL的构架备份和恢复方法一系统构架MySQL物理文件组成日志文件MySQL日志是记录MySQL数据库的日常操作和错误信息的文件。记录着MySQL数据库运行期间发生的变化。当数据库遭到意外的损害时,可以通过日志文件来查询出错原因,并且可以通过日志文件进行数据恢复。MySQL中,日志可以分为二进制日志、错误日志、通用查询日志和慢查询日志。分析这些日志文件,可以了解MySQL数据库的运行情况、日常操作、错误信息和哪些地方需要进行优化。错误日志:Errorlog错误日志记录了运行过程中所有较为严重的警告和错误信息,以及数据库每次
2、启动和关闭的详细信息。在默认的情况下,系统记录错误日志的功能是关闭的,错误信息被输出到标准错误输出。启动和设置错误日志文件通过my.cnf或者my.ini文件的log-bin选项可以开启错误日志文件日志。将log-bin选项加入到my.cnf或者my.ini文件的[mysqld]组中,形式如下:#my.cnf(Linux操作系统下)或者my.ini(Windows操作系统下)[mysqld]log-error[=DIR[filename]]#Errorloglog-error="C:/MySQL/ErrLog/local.err"2二进制日志BinaryLog是MySQL中最重要的
3、日志之一,开始记录功能后,MySQL会将所有修改数据库数据的Query以二进制形式记录到日志文件中,还包括每一条Query执行的时间,所耗费的资源,以及相关的事务信息,所以binlog是事务安全的。启动和设置二进制日志默认情况下,二进制日志功能是关闭的。通过my.cnf或者my.ini文件的log-bin选项可以开启二进制日志。将log-bin选项加入到my.cnf或者my.ini文件的[mysqld]组中,形式如下:#my.cnf(Linux操作系统下)或者my.ini(Windows操作系统下)[mysqld]log-bin=DIR[filename]]Max-binlog-s
4、ize设置二进制文件的最大存储上限。#BinLoglog-bin="C:/MySQL/BinLog/binlog."max-binlog-size=1M查看二进制日志使用二进制格式可以存储更多的信息,并且可以使写入二进制日志的效率更高。但是,不能直接打开并查看二进制日志。如果需要查看二进制日志,必须使用mysqlbinlog命令。mysqlbinlog命令的语法形式如下:(cmd下输入)mysqlbinlogfilename.number如:mysqlbinlogc:mysqlbinlogbinlog.000001删除二进制日志二进制日记会记录大量的信息。如果很长时间不清理二进
5、制日志,将会浪费很多的磁盘空间。删除二进制日志的方法很多。1.删除所有二进制日志2.根据编号来删除二进制日志3.根据创建时间来删除二进制日志数据库管理员可以删除很长时间之前的日志,以保证MySQL服务器上的硬盘空间。MySQL数据库中,可以使用mysqladmin命令来开启新的日志。mysqladmin命令的语法如下:mysqladmin-uroot-pflush-logs执行该命令后,数据库系统会自动创建一个新的日志。使用二进制日志还原数据库二进制日志记录了用户对数据库中数据的改变。如INSERT语句、UPDATE语句、CREATE语句等都会记录到二进制日志中。一旦数据库遭到破坏,
6、可以使用二进制日志来还原数据库。如果数据库遭到意外损坏,首先应该使用最近的备份文件来还原数据库。备份之后,数据库可能进行了一些更新。这可以使用二进制日志来还原。因为二进制日志中存储了更新数据库的语句,如UPDATE语句、INSERT语句等。二进制日志还原数据库的命令如下:mysqlbinlogfilename.number
7、mysql-uroot–p–Ddbname暂时停止二进制日志功能在配置文件中设置了log-bin选项以后,MySQL服务器将会一直开启二进制日志功能。删除该选项后就可以停止二进制日志功能。如果需要再次启动这个功能,又需要重新添加log-bin选项。MySQL中提供
8、了暂时停止二进制日志功能的语句。如果用户不希望自己执行的某些SQL语句记录在二进制日志中,那么需要在执行这些SQL语句之前暂停二进制日志功能。用户可以使用SET语句来暂停二进制日志功能,SET语句的代码如下:SETSQL_LOG_BIN=0;3查询日志通用查询日志用来记录用户的所有操作,包括启动和关闭MySQL服务、更新语句、查询语句等。由于记录了所有的Query,包括所有的select,体积比较大,开启后对性能也有比较大的影响,一般在跟踪某些特殊的查询问
此文档下载收益归作者所有