mysql数据库之备份和恢复
数据备份的重要性:
在生产环境汇总,数据的安全性至关重要
任何数据的丢失都可能产生要种的后果
造成数据丢失的原因:
程序错误
认为操作错误
运算错误
灾难(火灾、地震)、盗窃
一、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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具