一、数据库运维管理思想核心

1.未雨绸缪,不要停留在制度上,而是要实际做出来

2.亡羊补牢,举一反三,不要好了伤疤忘了疼

3.完善的框架设计及备份、恢复策略

4.定期思考,并实战模拟以上策略演练

二.策略优化

个人感觉不仅仅是数据库,所有的系统层面的都可以通过以下方式进行考虑。

mysql数据库优化

      硬件优化:优化的是物理机,不是虚拟机,因为数据库是IO密集型的
                     cpu 大公司一台机器8-16颗64位cpu
                     mem 大公司96G-128G  3-4个实例
                     disk  数量越多越好,性能:ssd(高并发 )>sas(普通业务线上)>sata(线下)
                     raid  4块盘 性能:RAID0>RAID10>RAID5>RAID1
                     网卡:多块网卡bond,以及buffer、tcp等的优化。
      软件优化:操作系统:x86_64系统, 软件:mysql编译优化
      my.cnf 的参数的优化:
                     注意:my.cnf里面优化的幅度很小,大部分在sql语句和架构优化
       监控:生产参数是一般情况下参数
      命令监控:show global  status\G;工具:mysqlreport性能调优工具, 自动帮忙分析设置的参数合理不合理
      sql语句的优化
     a.索引的优化
        1) 白名单机制
               首先要抓慢sql,配置my.cnf
               long_query_time=2
               long-slow-queries/data/3306/slow-log.log
               按天轮询:slow-log.log
      2)   慢查询日志分析工具---mysqlsla
      3)   每天晚上0点定时分析慢查询,发到核心开发、DBA分析,及高级运维,cto的邮箱里.
               DBA分析给出建议--》核心开发处理---》DBA线上处理
     b.sql语句的拆分,比如:JOIN连接表
     c.数据库是存储数据的地方,但是不是计算数据的地方。
     d.搜索功能,like '%老男孩%',一般不要用mysql数据库
   架构的优化
         1)业务拆分:搜索功能,like '%老男孩%',一般不要用mysql数据库
         2)数据库前端必须要加cache:例如:memcached
             用户登录,商品查询
        3)业务拆分:某些业务应用使用nosql持久化存储:memachecedb,redis等
             好友关系,粉丝关注等等
       4)动态的数据静态化。真个文件静态化,页面片段静态化。
       5)   数据库集群与读写分离,一主多从,通过程序或者dbproxy进行读写分离
       6)单表超过2000完。拆库拆表
   流程,制度,安全优化
     任何一次人为数据库记录的更新,都要走一个流程:
     a.人的流程:开发--》核心开发--》运维或者DBA
     b.测试流程:内网测试--》IDC测试--》线上执行
     c.客户端管理:phpmy
 

十三、linux-mysql的mysql的核心优化思想的更多相关文章

  1. MySQL 第九天(核心优化三)

    一.昨天内容回顾 索引设计依据 与数据表有关系的sql语句都统计出来 where order by or等等条件的字段适当做索引 原则: 频率高的sql语句 执行时间长的sql语句 业务逻辑重要的sq ...

  2. Mysql DBA 运维 MySQL数据库索引优化及数据丢失案例 MySQL备份-增量备份及数据恢复基础实战 MySQL数据库生产场景核心优化

    需要的联系我,QQ:1844912514

  3. redmine在linux上的mysql性能优化方法与问题排查方案

    iredmine的linux服务器mysql性能优化方法与问题排查方案     问题定位:   客户端工具: 1. 浏览器inspect-tool的network timing工具分析   2. 浏览 ...

  4. MySQL 第七天(核心优化一)

    一.Mysql核心优化 1. 优化的方面 ① 存储层:数据表"存储引擎"选取.字段选取.逆范式(3范式) ② 设计层:索引.分区/分表 ③ 架构层:分布式部署(主从模式/共享) ④ ...

  5. [转] Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置

    from:  http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得 ...

  6. Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置

    原文:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建好j ...

  7. Linux中MySQL配置文件my.cnf参数优化

    MySQL参数优化这东西不好好研究还是比较难懂的,其实不光是MySQL,大部分程序的参数优化,是很复杂的.MySQL的参数优化也不例外,对于不同的需求,还有硬件的配置,优化不可能又最优选择,只能慢慢的 ...

  8. Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置(转)

    原文地址:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建 ...

  9. (转)MySQL配置文件mysql.ini参数详解、MySQL性能优化

    本文转自:http://www.cr173.com/html/18331_1.html my.ini(Linux系统下是my.cnf),当mysql服务器启动时它会读取这个文件,设置相关的运行环境参数 ...

随机推荐

  1. vue的开发中v-for报错 [vue/require-v-for-key] Elements in iteration expect to have 'v-bind:key' directives.

    用的VS Code 工具,安装了vetur插件,报错了如下 [eslint-plugin-vue] [vue/require-v-for-key] Elements in iteration expe ...

  2. PAT Advanced 1018 Public Bike Management (30) [Dijkstra算法 + DFS]

    题目 There is a public bike service in Hangzhou City which provides great convenience to the tourists ...

  3. 初识MyBatis-Generator

    详细请见: http://www.mybatis.org/generator/quickstart.html 使用mybatis-generator-core-x.x.x.jar加上配置文件来生成 1 ...

  4. CodeForces - 748B Santa Claus and Keyboard Check

    题意:给定两个字符串a和b,问有多少种不同的字母组合对,使得将这些字母对替换字符串b后,可以变成字符串a.注意字母对彼此各不相同. 分析:vis[u]记录与u可形成关系的字母,若u与v不同,则形成字母 ...

  5. hdu 3483 矩阵乘法

    这个题目上周对抗赛题目,搞了我好久 对数学这种不是很敏感 其实都不是自己想出来的,看其他的资料和博客的推导 还是有点难度的,反正我是推不出来 通过二项式定理的化简 有两个博客写得比较好 http:// ...

  6. Access修改窗体的名称,用于VBA代码的调用

  7. MVC——再探MVC——增删查改

    MVC 是我大学学的比较弱的,甚至不懂原理.(那时候都在准备蓝桥杯 软件杯比赛.) 在重新学 肯定要学MVC 现在知道了为什么叫MVC了  MVC是怎么工作的 MVC 是一个设计模式 控制器(Cont ...

  8. Python笔记_第一篇_面向过程_第一部分_5.Python数据类型之字符串类型(string)

    关于Python的字符串处理也如其他语言一样属于重点中的重点,主要是牵扯到的函数和内容较为多和乱一些.关于什么是字符串,Python中的定义是:以单引号或者双引号括起来的任意文本. 1.   字符串的 ...

  9. .net core编译时设置不自动生成“netcoreapp3.0”目录

    不知道出于什么目的,.netcore项目默认编译时生成的文件要多加一层"netcoreapp3.0"或"netcoreapp2.1",这应该不符合大多数开发者的 ...

  10. 69)stack和queue操作

    操作和vector类似  直接看 vector就行了 或者看笔记  C++进阶课程讲义