- 论坛徽章:
- 17
|
本帖最后由 jimmy-_-lixw 于 2014-02-10 18:23 编辑
MySQL数据库存储,这是不错的话题,支持。
讨论话题:
1、谈谈您的项目中是如何对mysql进行开发来实现需求的。
目前还没有需要对MySQL开发的级别,未到达需求MySQL开发。基本上只是使用原始的MySQL版本。
如果是有特殊需求,目前也是找其他MySQL衍生的开源数据库使用。
2、对mysql数据库运维有哪些优化的方案
根据网站访问量越来越大, MySQL数据库服务器的压力越来越大。这个时候就需要优化MySQL。数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。
我认为MySQL数据库运维有哪些优化只是其中一部分。只是MySQL优化的其中一个方案。另外如果要真正从根源上优化MySQL,必须掌握业务的需求,并且与开发沟通协调,优化SQL语句。如果两者脱离了,不然的话在优秀管理员也是徒劳无功劳。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。
对此下面我了解一下MySQL优化的一些个人的建议,对MySQL的优化我分为三个部分,一是服务器物理硬件的优化;二是MySQL安装时的编译优化;三是自身配置文件my.cnf的优化;如果MySQL的优化也解决不了你的数据库的压力的话,那这个时候就只有考虑采用集群架构的方法,这个我举得是后面的工作了。
优化影响最大的因素:服务器硬件对MySQL性能的影响;MySQL自身因素当解决了上述服务器硬件制约因素后,让我们看看MySQL自身的优化是如何操作的。对 MySQL自身的优化主要是对其配置文件my.cnf中的各项参数进行优化调整。同时,MySQL的线上安装我建议采取编译安装的方法,这样性能上有较大提升。很多时候我们发现,通过参数设置进行性能优化所带来的性能提升,可能并不如许多人想象的那样产生质的飞跃,除非是之前的设置存在严重不合理的情况。我们不能将性能调优完全依托于通过DBA在数据库上线后进行的参数调整,而应该在系统设计和开发阶段就尽可能减少性能问题。
3、如何有效长远的管理好mysql数据库
从服务器运维的角度来考虑,1. 确保数据安全。保证用户信息、运营数据的安全。2. 每日凌晨备份,本地加异地。不影响繁忙时段的线上操作,确保数据不丢失。3. 尽量减少停机时间。提高用户体验、延长运营时间4. 异常损坏情况下尽量恢复数据,尽量减少用户损失。
定制MySQL数据库管理的规范:
1、日常巡检流程。日常检查数据库的哪些运行状态和状态异常分析。
2、备份的方案,和备份测试方案。定制MySQL数据库全备,MySQL数据库和增量备份时间间隔设计,根据数据量和存储空间和业务需求设定备份保留期限,定期测试备份是否正确,是否可用。
3、紧急故障处理预案。 主要是性能监控报警方面的处理,阀值设置,可控制出问题后响应时间和汇报对象等等。
4、误操作预案。例如DDL或者DML误操作后的紧急处理方案。
4、数据库安装、上线流程。对新业务上线,配套的数据库硬件配置,操作系统版本选择,数据库版本选择,安装,系统和数据库基准测试。
5、数据库升级流程。例如升级现有数据库的流程,如何发起,和所有业务及研发部门沟通升级方案对业务的影响,升级前的测试,切换流程定制等。
从管理员的角度看如何管理好mysql数据库,常见关注重点有下面几点:
(1)、慢查询日志,关注重点如下。
1.是否锁定,及锁定时间
2.如存在锁定,则该慢查询通常是因锁定因素导致,本身无需优化,需解决锁定问题。
3.如影响结果集较大,显然是索引项命中存在问题,需要认真对待。影响结果集。
(2)、Explain 操作
1.索引项使用。不建议用using index做强制索引,如未如预期使用索引,建议重新斟酌表结构和索引设置。
2.影响结果集。这里显示的数字不一定准确,结合之前提到对数据索引的理解来看,还记得嘛?就把索引当作有序序列来理解,反思SQL。
(3)、Set profiling , show profiles for query操作。
1.注意执行开销,有问题的SQL如果重复执行,可能在缓存里,这时要注意避免缓存影响。通过这里可以看到。
2.执行时间超过0.005秒的频繁操作SQL建议都分析一下。
3.深入理解数据库执行的过程和开销的分布
(4)、Show processlist 执行状态监控。这是在数据库负载波动时经常进行的一项操作。
MySQL的体系架构中,MySQL对于性能的影响最大,也是关键的核心部分。MySQL也是优化难度最大的一个部分,不但需要理解一些MySQL专业知识,同时还需要长时间的观察统计并且根据经验进行判断,然后设置合理的参数,有时设置过大并不能取得更好的作用,相反它还会影响MySQL的性能。
|
评分
-
查看全部评分
|