数据备份的重要性:
在生产环境汇总,数据的安全性至关重要
任何数据的丢失都可能产生要种的后果
造成数据丢失的原因:
程序错误
认为操作错误
运算错误
灾难(火灾、地震)、盗窃
一、mysql日志概述
mysql的日志默认保存位置为:/usr/local/mysql/data 下面
1、日志类型与作用
1.1 redo (重做日志)
达到事务一致性(每次重启都会重做)
作用:确保日志的持久性,防止在发生故障,脏页未写入磁盘。重启数据库会进行 redo log 执行重做,达到事务一致性。
1.2 undo(回滚日志)
作用:保证数据的原子性,记录事务发生之前的一个版本,用于回滚,innodb事务可重复和读取已提交隔离级别就是通过mvcc+undo实现。
1.3 errorlog(错误日志)
作用:mysql本身启动,停止,运行期间发生的错误信息
1.4 slow query log(慢查询日志)
作用:记录执行时间过长的sql语句,时间默认值为10s,可以配置,只记录执行成功,超过设置时间的sql语句,都会被存在到慢查询日志中。
还可以提醒优化,对于查询慢的语句进行操作(比如是网络问题,还是未添加索引等)
1.5 bin log (二进制日志)
作用:用于基于日志形式的数据恢复。用于主从复制,实现主从同步,记录的内容是:数据库中执行的sql语句
1.6 relay log(中继日志)
作用:用于数据库主从同步,将主库发来的bin log保存在本地,然后从库进行回放。
1.7 general log(普通日志)
记录数据库的操作明细,默认关闭,开启后会降低数据库的性能
2、日志配置文件
日志文件开启关闭日志的位置
vim /etc/my.cnf
#错误日志
log-error=/usr/local/mysql/data/mysql_error.log
#通用查询日志
general_log=ON
general_log_file=/usr/local/mysql/data/mysql_general.log
#二进制日志
log-bin=mysql-bin
#慢查询日志
slow_query_log=ON
slow_query_log_file=/usr/local/mysql/data/mysql_slow_query.log
long_query_time=5
2、修改完成需要重新mysql服务
systemctl restart mysqld.service