| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> MYSQL数据库之备份与恢复 -> 正文阅读 |
|
[大数据]MYSQL数据库之备份与恢复 |
一.数据备份的重要性? ?? 1.数据丢失的原因1.程序错误 2.人为操作 3.磁盘故障 二.备份类型1.物理备份含义:对文件作操作 1.冷备份(关闭进行) 2.热备份(运行进行) 3.温备份(数据库锁定表格) 2.逻辑备份含义:对数据库逻辑组件
三.数据库备份分类1.完全备份完全备份:每次对数据库进行完整的备份 缺点:对内存消耗比较大 2.差异备份注释:从完全备份之后再进行备份 恢复时:恢复最新的差异备份,在恢复完全备份 3.增量备份注释:只备份完全备份后的数据 优点:节省磁盘空间 缺点: 恢复时比较复杂,步骤更多(一个一个恢复) 四.常见的备份方法1.物理冷备 tar打包数据库文件 2.专用备份工具 mysqldump或mysqlhotcopy常用逻辑备份工具 mysqlhotcopy 仅拥有备份myISAM和ARCHIVE表 3.启用二进制日志备份 进行增量备份时,需刷新二进制日志 4.第三方工具备份 五.MYSQL完全备份优点:备份与恢复操作简单 缺点:数据存在大量重复 1.物理冷备份 操作:先关闭数据库 mkdir /backup 创建备份文件目录 tar zcf /backup/mysql_all-$(date+%F).tar.gz /usr/local/mysql/data 2.完全备份所有库 mysqldump -u root -p[密码] --all-databases > /备份路径/备份文件名.sql ? ?完全备份指定库中的部分表
?查看备份文件 cat /opt/备份的文件 |grep -v "^--" | grep -v "^/" | grep -v "^$" 例: 2. MySQL 完全恢复 恢复数据表 当备份文件中只包含表的备份,而不包含创建的库的语句时,执行导入操作时必须指定库名,且目标库必须存在。
mysql日志:慢查询日志:(用来记录所有执行时间超过long_query_time) /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_general.log 设置完重启一下mysql cat mysql-bin.index(查看索引文件号) 二进制日志的三种格式?
————————————————————————————? ? ? ? ? ? ? ?MYSQL增量备份与恢复1.默认是基于行记录的(准确性很高,效率低,影响的数据比较多) 2.设置为MIXED模式 如何增量备份?1.mysqladmin -u root -p flush-logs? ?#####刷新出新的二进制日志文件 2.cp? ? ? ? ? ? ? ? ? ? ? ? ? ?########把旧的二进制文件移动到专门保存日志的目录中 3.查看二进制日志文件 mysqlbinlog --no-defaults --base64-output=decode-rows -v binlog.xxxxxxxxx 4.mysqlbinlog --no-defaults 二进制日志文件 通过二进制日志进行恢复(基于位置点,时间点,进行恢复两种方式) —————基于位置点进行恢复————————
————————基于时间点进行恢复————————
?1.可每周对数据库或表进行完全备份 2.使用计划性任务每周三2点对数据库和表进行完全备份 3、可每天进行增量备份操作,生成新的二进制日志文件(例如 mysql-bin.000003)
高级语句:
聚合函数 avg(字段)? ? ? ? ? ? ? ? ? ? ? ? ?##平均数 count(字段)? ? ? ? ? ? ? ? ? ? ? ##只能统计非空行数 min(字段)? ? ? ? ? ? ? ? ? ? ? ? ? ? ?###最小数 max(字段)? ? ? ? ? ? ? ? ? ? ? ? ? ? ##最大数 sum(字段)? ? ? ? ? ? ? ? ? ? ? ? ? ? ###求和 count(*)统计所有行数包括null行全表扫描? ? ? ? 指定字段会忽略null值的行 先去重在统计行数 -—————————————字符串函数-------—————————— trim(leading/trailing,both 'xxx'? from? 字段、字符串) concat(x,y)? ? ? ? ? 拼接字符串 replace(x,y,z)? ? 替换 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 10:14:36- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |