`
agileai
  • 浏览: 60188 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

我心中的MySQL DBA

阅读更多

 原文网址链接:http://wangwei007.blog.51cto.com/68019/1718311

    MySQL是一个跨平台的开源关系型数据库管理系统,目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。随着MySQL在互联网上被广泛使用,在数据库领域的地位爆炸式的提升,BAT等各互联网的去IOE,大量的使用MySQL作为核心数据库,MySQL DBA的市场需求量日益剧增,好的MySQL DBA更是各个互联网公司抢手的人才。越来越多的IT人才开始转型做DBA,那么作为一个DBA,首先要明白作为一个DBA的核心目标也是终极目标:保证数据库管理系统的稳定性、安全性、完整性和高性能。

    MySQL DBA大概可以分为两种:一种是开发DBA,一种是运维DBA,这里说的MySQL DBA是指运维DBA。一般意义上的DBA指的是运维DBA,只是负责数据库的运营和维护,包括数据库的安装、监控、备份、恢复等基本工作,而高级或资深 DBA职责比这个大得多,需要覆盖产品从需求设计、测试到交付上线的整个生命周期,在此过程中不仅要负责数据库管理系统的搭建和运维,更要参与到前期的数据库设计,中期的数据库测试和后期的数据库容量管理和性能优化。

    对于运维DBA来说,主要的职责为以下几点:

    1) 监控:对数据库服务运行的状态进行实时的监控,包括数据库会话、数据库日志、数据文件碎片、表空间监控、用户访问监控等,随时发现数据库服务的运行异常和资源消耗情况;输出重要的日常数据库服务运行报表以评估数据库服务整体运行状况,发现数据库隐患;监控对于DBA来说是至关重要的,是DBA的第三只眼 睛,利于监控可以自动处理一些常规的故障,提前发现并解决潜在隐患,监控对于运维是必备的技能,如果你不懂监控,那么你就不是一个称职的运维人员;

    2)备份:制定和实施数据库备份计划,灾难出现时对数据库信息进行恢复,维护适当介质上的存档或者备份数据。对数据库的备份策略要根据实际要求进行更改,数据的日常备份情况进行监控。备份大概分为两种:一种是定时、计划性的备份,包含全备和增量备份,常用的工具一般为mysqldump以及xtrabackup为代表的第三方备份工具;一种是执行DML时更新和删除的备份,这种备份一般有以下几种备份方式:一种为create tablexxx_mmddhhmm select的方式备份到表中,一种是mysqldump加上条件做备份,还有一种是select into oufile等几种方式,防止执行错误时可以快速的恢复。在日常对数据库的操作中,特别作为一个DBA,永远要给自己留一个后手,保证在需要进行数据恢复的时候可以随手拈来。

    3)安全审计:为不同的数据库管理系统用户规定不同的访问权限,以保护数据库不被未经授权的访问和破坏。例如,允许一类用户只能检索数据,而另一类用户可能拥有更新数据和删除记录的权限。

    4)故障处理:对数据库服务出现的任何异常进行及时处理,尽可能避免问题的扩大化甚至中止服务。这之前DBA需要针对各类服务异常,如机房/网络故障、程序bug等问题制定处理的预案,问题出现时可以自动或手动执行预案达到止损的目的。在故障处理中,DBA的反应至关重要,可能在分分钟钟的时间内,小的故障引发大的故障,对业务的影响更大,这个非常考验DBA的应急能力和应变能力。对于常见的故障,比如连接数突然增多、数据库服务器空间的清理、主从同步延迟、CPU使用过高等,可以和研发一起制定相应的预案,并且和监控结合,当达到一定的阀值,使用相应的脚本自动处理,这样在一定程度上减少DBA的工作量、提高故障处理效率,更重要的是可以为DBA争取一定的时间,防止故障升级对业务带来更大的影响。

    5)容量管理:包括数据库规模扩张后的资源评估、扩容、机房迁移、流量调度等规划和具体实施。

    6)数据库性能优化:产品对外提供服务最重要的一点是用户体验,用户体验中非常重要的是产品的可用性和响应速度。而如何用最合理的资源支持产品提供高可用和高速度的用户体验,这也是DBA的重要职责。在多年的DBA生涯中,个人对数据库故障的总结为:80%的甚至更高的故障来自变态的SQL语句,10%左右的来自数据库架构方面设计的不合理,10%左右的来自硬件、OS层面。那么基本的优化重点就就是对SQL的优化,这个需要给研发人员进行MySQL开发规范进行培训,制定严格的SQL准入规则,审核每一条上线的SQL语句,在SQL源头上堵住大部分,然后就是对慢SQL的监控分析,定期的发给研发进行整改,并督促研发在限定的时间内整改。这部分的工作较为繁琐平淡,但是执行好了,可以杜绝很多不必要的故障,保证业务的高效、稳定运行,这一部分工作非常考验DBA的基础理论知识,考验DBA的责任性和工作的毅力。

    个人认为,一个好的DBA所需要具备的基本技能包含:理解数据备份/恢复与灾难恢复、DBA常用工具集的使用、知道如何快速寻找答案、知道如何监控和优化数 据库性能、尽可能实现自动化、容量监控与规划、索引设计、数据库设计、数据库安全性、持续不断地学习和研究新版本、可以单独的编写独立的或者系统的功能脚本。这些技能基本涵盖MySQL基础理论知识、OS层面知识、硬件知识、网络知识、代码编写能力、架构设计规划能力、监控、运维理念、运维自动化等。因此,做一个DBA,不单纯的数据库层面的,基本知识涵盖很多层面,因此可以说DBA综合知识极高的复合型专业人才。

    性格决定命运,态度决定一切,DBA也是这样,性格决定高度,态度决定层次。有些DBA做了很多年,依然是边缘人,成不了技术中坚,归根到底可能与本身的性格有关,不思进取,工作不主动,说多少做多少,做事邋遢,不上心,能凑合就凑合,时间观念不强等,有一部分人认为公司一个月给我1000块的工资,我干嘛去干1001块的活?只要不出人为事故就行,天灾人祸自认倒霉,这样的性格在个人职业生涯中不会有突出的成就。遇到过有些DBA都出书了,理论等技能肯定是没问题的,但是做事毛糙,考虑问题时不全面,时不时的出点小事故,有时候做事总觉得过得去就行,面试的时候给人的印象可能是极好的,可是工作起来就能看出问题了,每在一个公司做DBA业务呆的时间都不长,毕竟群众的眼睛是雪亮的,每个公司、每个领导都是需要能干活、能把活干漂亮的人。一个优秀的DBA,我心中的DBA应该是具有完美主义的人,应该具备的硬性素质包含工作认真细致,勤于思考,良好的沟通能力、具有团队合作精神,自我驱动能力或者说工作主动性强,坚韧的意志力和沉着的心态,好奇心和自信心强等;基本技能是基础,DBA必备的,只是基础而已,如果谈优秀的话,那么良好的性格和态度决定你可以在职业生涯中能走多远。

    大道理大家都懂,真正能实实在在落实到实际的不多,也正是这些为数不多的人,成为业内的中坚,所谓的大牛!最后想说的是,各个行业中没有最牛,只有更牛,学无止境,在学习和实践中完善、强化自己的各方面能力,不断的提升自己。踏踏实实做事,堂堂正正做人,改变不了别人,尽最大的努力,做最好的自己!!

分享到:
评论

相关推荐

    mysql dba 常用脚本

    MySQL DBA(数据库管理员)在日常工作中经常需要执行各种脚本来进行数据库的管理和维护工作。这些脚本涵盖了从数据备份、恢复、性能优化到错误排查等多个方面。以下是一些MySQL DBA常用的知识点,结合“mysql_mgr_...

    新版 MySQL DBA 高级视频 基于MySQL 5.7 MySQL 8.0版本.rar

    ├─新版MySQL DBA 课件ppt │ 第一课数据库介绍篇.pdf │ 第七课MySQL数据库设计.pdf │ 第三十一课percona-toolkits 的实战及自动化.pdf │ 第三课MySQL授权认证.pdf │ 第九课MySQL字符集.pdf │ 第二十一课MySQL...

    超经典MySQL DBA培训笔记

    接下来,我将根据这个主题,详细解释MySQL DBA需要掌握的关键知识点。 1. **MySQL基础知识**:了解MySQL的架构,包括服务器进程、存储引擎、客户端/服务器通信等。熟悉SQL语言,包括DML(数据操作语言)、DDL(数据...

    姜承尧MYSQL DBA视频课程(44天全)高清视频教程下载

    根据提供的文件信息,我们可以推断出这是一套关于MySQL数据库管理(DBA)的视频教程,由讲师姜承尧教授。下面将从标题、描述、标签以及部分内容中提取相关知识点,并进行详细的阐述。 ### MySQL DBA 视频课程概述 ...

    老男孩Mysql DBA运维课程(19部全) Mysql DBA高级运维系列课程

    -------------------Mysql DBA高级运维系列课程(老男孩19部全)-------------------------------- 01-第一部-MySQL基础入门(21节) 02-第二部-老男孩MySQL多实例安装与企业应用场景(10节) 03-第三部-老男孩MySQL...

    大神写的MySQL DBA学习笔记

    MySQL DBA,全称Database Administrator(数据库管理员),是专门负责管理和维护MySQL数据库系统的专业人士。这份“大神写的MySQL DBA学习笔记”无疑是深入理解和掌握MySQL技术的重要资源,尤其适合那些希望提升自己...

    MySQL DBA运维入门实战全套教程

    01 MySQL DBA基础.pdf 02 MySQL DBA安装.pdf 03 MySQL DBA基础操作.pdf 04 MySQL DBA视图操作.pdf 05 MySQL DBA索引管理.pdf 06 MySQL DBA安全权限.pdf 07 MySQL DBA日志管理.pdf 08 MySQL DBA备份恢复.pdf ...

    Mysql DBA 教程 10套教程

    一共10套教程。深入浅出MySQL生产环境高可用架构MyCat教程 尚硅谷Redis视频 高性能mysql优化 打造扛得住的MySQL数据库架构(5.7 阿里大神讲授MySQL数据库运维(5.6) ...MYSQL运维DBA实战(5.5,一般,不推荐了)

    超经典mysql dba 学习笔记.zip

    MySQL DBA(数据库管理员)是数据库管理中的关键角色,负责MySQL数据库系统的监控、优化、备份、恢复以及安全性等任务。这份“超经典mysql dba学习笔记”包含了丰富的MySQL运维知识,对于想要深入理解和掌握MySQL ...

    MySQL DBA从入行到优秀.pdf

    根据给定的文件信息,以下知识点主要围绕MySQL数据库管理员(DBA)从入门到优秀的职业成长路径展开,内容包括为何选择成为MySQL DBA、如何成为MySQL DBA以及在成长过程中需要掌握的关键技能和实际案例分析。...

    MySQL数据库巡检手册 MySQL DBA必备

    MySQL数据库巡检手册是MySQL数据库管理员(DBA)在进行数据库管理和维护工作中非常重要的参考资料。巡检手册包含了数据库性能、安全、运行状况等方面的检查项,以确保数据库能够正常稳定运行,及时发现并解决潜在问题...

    mysql DBA学习笔记

    MySQL DBA,全称Database Administrator(数据库管理员),是管理和维护MySQL数据库系统的关键角色。这份"超经典mysql DBA学习笔记"涵盖了成为一名优秀DBA所需掌握的众多知识点,旨在帮助学习者深入理解MySQL数据库...

    MySQL DBA互联网大厂面试宝典500题

    "MySQL DBA互联网大厂面试宝典500题" MySQL DBA互联网大厂面试宝典500题涵盖了MySQL DBA的方方面面,包括权限管理、连接管理、查询优化、索引合并、缓存机制、事务处理等。以下是对每个问题的详细解释和分析: 1. ...

    最新版MySQL DBA全套教程.rar

    第七课MySQL数据库设计.pdf 第三十一课percona-toolkits 的实战及自动化.pdf 第三课MySQL授权认证.pdf 第九课MySQL字符集.pdf 第二十一课MySQL常见错误-converted.pdf 第二十课MySQL索引和调优.pdf 第二课...

    (视频)Mysql DBA实战 从小白到大神

    (视频)Mysql DBA实战 从小白到大神 下载地址,很好很好很好。进阶必备

    MySQL DBA架构师学习笔记

    MySQL DBA架构师学习笔记涉及了MySQL数据库的部署、配置、监控和优化等多方面的知识点。以下是对文件内容中提及知识点的详细说明: 1. MySQL部署规划:在进行MySQL数据库部署时,需要进行前期规划,确定软件包、...

    MySql DBA Tutorials PPT

    MySQL DBA(数据库管理员)教程PPT是一份深入探讨MySQL数据库管理的资源,涵盖了DBA在实际工作中所需的各种技能和知识。这份英文资料旨在帮助学习者掌握MySQL数据库的管理和优化,提升其在数据库领域的专业能力。 1...

Global site tag (gtag.js) - Google Analytics