企业生产MySQL优化介绍
作者:李导
与其他的大型数据库例如 Oracle、DB2、SQL Server等相比,MySQL 自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQL是开放源码软件,因此可以大大降低总体拥有成本。
企业生产MySQL是如何优化的呢?
参考答案:
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语句注入
总结
本文关于企业生产MySQL优化介绍的先关内容就到这里,希望对大家有所帮助。感兴趣的朋友可以参阅:Oracle分页查询性能优化代码详解、ORACLE SQL语句优化技术要点解析、C/C++ 编译器优化介绍等内容,有什么问题可以随时留言,小编会及时回复大家的。