企业生产MySQL如何优化?老男孩MySQL培训

    /    2019-11-27

  a:硬件的优化:

  1、 采用64位cpu,cpu至少4颗,L2缓存越大越好

  2、 内存要大,32-64G运行1-2个实例,96-128G运行3-4个实例

  3、 机械盘选用sas盘,转速15000以上,用可能的话使用ssd

  4、 raid卡使用raid10

  5、 网卡多块,千兆以上

  6、 数据库不要使用虚拟化,slave硬件要好于master

  b:操作系统优化

  1、 操作系统选择x86_64位,尽量采用xfs文件系统

  2、 优化磁盘存储参数

  3、 优化内核参数

  4、 优化网络等

  c:mysql构架优化

  1、根据内存大小,配置服务器跑多实例

  2、主从复制采用mixed模式,尽量不要跨机房同步,若要跨机房,尽量采用远程写,本地读

  3、定期检查、修复主从复制的数据差异

  4、业务拆分,搜索功能不使用MySQL数据库执行;某些高并发,安全性一般的业务使用nosql,如:memcache、 redis等

  5、数据库前端加cache,如memcache,用于用户登录,商品查询

  6、动态数据静态化,整个文件静态化,页面片段静态化

  7、数据库集群读写分离,一主多从,通过dbproxy进行集群读写分离

  8、单表超过800万,拆库拆表,如人工将(登录、商品、订单)拆表拆库

  9、选择从库备份,并且对数据库进行分表分库备份

  d:MySQL数据库层面优化

  1、 优化my.cnf参数

  2、 优化库表设计,包括字符集、字符串长度、创建短索引、多用复合索引;

  3、 SQL语句优化,减少慢语句数量;

  e:数据库管理流程、制度优化

  1、 人的流程:开发—>核心运维/DBA

  2、 测试流程:内网 IDC测试线上执行

  3、 客户端管理,PHPMYADMIN

  f:MySQL数据库安全优化

  1、 数据库禁止设置外网

  2、 数据库文件权限优化;

  3、 授权用户权限限制,尽量专库专用户

  4、 限制开发对生产库的操作权限

  5、 防止SQL语句注入

         注:此内容来源于李导原创内容,转载请注明出处。


(0)

分享至