MySQL新项目如何确保上线安全
大纲
DBA最应该做的事情
新项目开发环境应该注意什么
功能测试和压力测试MySQL DBA关注点
线上环境关注点
业务在大压力情况下,MySQL如何能活下来
DBA最应该做的事情
备份
建议每天全备
每天把Binlog也要进行备份
理想的目标:可以把数据还原到任意时间点(近2周的能力)
监控
了解环境的情况
环境可控
了解数据增长及和环比情况
新项目开发环境应该注意什么
long_query_time=1->0
了解核心业务SQL,提出读写分离和缓存指导建议
功能测试,性能测试中注意校对
备份开发环境(每天一备),放在其他机器上,最好也要有从库
核心SQL优化,Schema调整尽量在这个阶段完成
特别提示:
新技术也可以在这个测试环境测试一下
开发环境常见问题
开发把数据误操作干掉
开发服务器机器故障
并发连接太多,DB响应太慢
功能测试和压力测试MySQL DBA关注点
功能测试环境(保稳)
保障环境正常,基本DBA不在调整该环境的东西
数据库新版本验证(也可以放到这个环节)
数据库权限尽量保持和线上一样的要求(严格控制)
重视该环境的性能问题
功能环境可能遇到的问题
1.索引不合理
2.功能不完善,调整表结构
3.存储过程,定时任务缺失
4.主从故障
性能环境(测极限)
一般基于LR测试
数据初始化(备份)
获取SQL执行频度,优化,读写分离相关工作进一步校验
产出:
基于业务的性能评估(性能测试人员)
数据库的性能情况(DBA)
压测环境可能遇到的问题
1.数据库压挂
2.IO不行
3.buffer pool太小
4.索引不合理
5.慢查询较多
6.优化SQL
线上环境关注点
1.DML操作量 & 事务队列
2.数据增长量
每张表每天增长多少行
每周增加的大小
3.每天binlog形成量,高峰期binlog切换速度
4.每天慢日志情况,错误日志情况
5.每天备份(数据,binlog)
6.高可用架构
线上问题
1.更改表结构
2.迁移
3.性能问题(异常)
4.SQL优化
5.数据一致性校验
6.高可用切换
高性能环境MySQL如何活下来
1.高可用切换后,新节点直接挂掉
从节点负载超过50%
从节点buffer pool没缓存数据
2.连接数较高,出现thread_running过高,数据库挂掉
过载保载
引入thread_pool
3.单表出现热点
读写拆分(认证)
4.update tb set c1 = c1 + 1 where id = xxx; 高并发搞挂数据库
内存中合并更新
MySQL新项目如何确保上线安全的更多相关文章
- “快的打车”创始人陈伟星的新项目招人啦,高薪急招Java服务端/Android/Ios 客户端研发工程师/ mysql DBA/ app市场推广专家,欢迎大家加入我们的团队! - V2EX
"快的打车"创始人陈伟星的新项目招人啦,高薪急招Java服务端/Android/Ios 客户端研发工程师/ mysql DBA/ app市场推广专家,欢迎大家加入我们的团队! - ...
- 准备在新项目中使用pgsql【资源收集】
pgsql大象数据库 是我最近在关注的一款开源数据库,可以自由修改,没那么多限制,准备在新项目中使用 postgresql中国下载站 http://www.postgres.cn/download#s ...
- 从零开始搭建vue移动端项目到上线的步骤
初始化项目 1.在安装了node.js的前提下,使用以下命令 npm install --g vue-cli 2.在将要构建项目的目录下 vue init webpack myproject(项目目录 ...
- Django 创建新项目后要完成的几个步骤
首先,在过一遍创建新项目的步骤: -创建一个新项目 -建了数据库后要确定自己是用 mysql数据库 还是用 sqlite3数据库 -如果是mysql数据库,那一堆配置 -如果是sqlite3数据库, ...
- java项目代码上线
java项目代码上线 1:java项目代码上线架构图 ip地址及主机名规划 10.0.0.11 deploy 10.0.0.12 tomcat-web01 10.0.0.13 git.oldboy ...
- Android新项目GBSS:第1篇 搭建开发环境
最近接手一个Android新项目,之前也没做过这方面的开发,算是边学边干,这两天看了一下Android开发的书,大致入门了一点,今天把所需要的软件都下了下来,准备开工,先列一下开发环境: 所有的软件都 ...
- 自动化生成 Openstack 新项目开发框架
目录 目录 前言 环境 openstack-project-generator 前言 Openstack Developer 应该都知道, 开发一个 Openstack 的新项目并不是一个从 0 到 ...
- 为更强大而生的开源关系型数据库来了!阿里云RDS for MySQL 8.0 正式上线!
2019年5月29日15时,阿里云RDS for MySQL 8.0正式上线,使得阿里云成为紧跟社区步伐,发布MySQL最新版本的云厂商.RDS for MySQL 8.0 产品是阿里云推出的 MyS ...
- NGK Global莫斯科路演:关注内存暴涨和Defi新项目-Baccarat
此次路演由莫斯科演讲师Andrew首先致辞.首先安德鲁回顾了NGK近些年发展的整体情况,表示,NGK技术团队一直在认真的做事并将更加注重技术方案的改进,为行业提供更好的技术解决方案是NGK的愿景,NG ...
随机推荐
- 小福bbs-冲刺日志(第二天)
[小福bbs-冲刺日志(第二天)] 这个作业属于哪个课程 班级链接 这个作业要求在哪里 作业要求的链接 团队名称 小福bbs 这个作业的目标 UI重构完成 作业的正文 小福bbs-冲刺日志(第二天) ...
- 如何将eclipse项目导入到idea
intellij idea中文资料网上比较少,对于eclipse的项目如何导入intellij idea也没有完整的说明,本人在这里整理下,方便更多人加入到intellij idea的阵容里. 直接上 ...
- JVM 线程上下文类加载器
当前类加载器(Current ClassLoader) 每个类都会使用自己的类加载器(即加载自身的类加载器)来去加载其他类(指所依赖的类) 如果ClassX引用了ClassY,那么ClassX的类加载 ...
- linux cat 文件编码
test.log是utf-16的编码 cat test.log会报错 但是我们可以cat的时候指定编码格式 iconv -f 文件编码 -t 终端编码 input.log iconv -f utf-1 ...
- Summary: curated List of Top 75 LeetCode Questions to Save Your Time
Facebook / Eng tech lead Dec 30, 2018 68 Comments New Year Gift to every fellow time-constrained ...
- 004-行为型-09-访问者模式(Visitor)
一.概述 它分离对象的数据和行为,使用Visitor模式,可以不修改已有类的情况下,增加新的操作. 主要解决:稳定的数据结构和易变的操作耦合问题. 注意事项:访问者可以对功能进行统一,可以做报表.UI ...
- canvas固定画布
canvas作为非常方便的HTML绘图工具在web端的应用是非常多了. 那么会碰到一个问题,开始绘图的时候,网页总是晃动. 怎么办呢?只需在获取鼠标(触点)移动坐标的时候,添加清除默认动作就可以了. ...
- 【Java】Spring快速入门(一)
Spring介绍 Spring可以轻松创建Java企业应用程序.它提供了在企业环境中使用Java语言所需的一切,支持Groovy和Kotlin作为JVM上的替代语言,并可根据应用程序的需要灵活地创建多 ...
- 【DataBase】H2 DateBase与项目集成
本例介绍H2与web项目的集成 项目启动H2数据库 1.新建Maven Web项目,参考:[Maven]Eclipse 使用Maven创建Java Web项目 2.引入h2的jar包依赖 <de ...
- Qt编写自定义控件63-水波效果
一.前言 几年前就一直考虑过写这个控件了,在9年前用C#的时候,就看到过别人用C#写了个水波效果的控件,挺好玩的,当时看了下代码用的二维数组来存储变换的图像像素数据,自从学了Qt以后,有过几次想要用Q ...