Mysql DBA 20天速成指南

DBA是什么?

DBA是数据库管理员认证,英文是Database Administrator。

DBA的一些职责:
安装和升级数据库服务器(如Oracle、Microsoft SQL server),以及应用程序工具。
数据库设计系统存储方案,并制定未来的存储需求计划。
一旦开发人员设计了一个应用,就需要DBA来创建数据库存储结构(tablespaces)。
一旦开发人员设计了一个应用,就需要DBA来创建数据库对象(tables,views,indexes)。
根据开发人员的反馈信息,必要的时候,修改数据库的结构。
登记数据库的用户,维护数据库的安全性。
保证数据库的使用符合知识产权相关法规。
控制和监控用户对数据库的存取访问。
监控和优化数据库的性能。
制定数据库备份计划,灾难出现时对数据库信息进行恢复
维护适当介质上的存档或者备份数据
备份和恢复数据库
联系数据库系统的生产厂商,跟踪技术信息。

以下是一个MYSQLDBA速成学习指南需要的朋友可以阅读一下。

准备一台pc,一根网线和20天无打扰的空余时间,把MySQL 5.1参考手册设置为浏览器首页,按下面列表逐条学习即可,这本中文手册包括基本上所有的内容,补充知识google也都能查到,学习平台采用linux

基本知识

  • mysql的编译安装
  • mysql 第3方存储引擎安装配置方法
  • mysql 主流存储引擎(MyISAM/innodb/MEMORY)的特点
  • 字符串编码知识
  • MySQL用户账户管理
  • 数据备份/数据入导出
  • mysql 支持的基本数据类型
  • 库/表/字段/索引 的创建/修改/删除
  • 基本sql 语法:select/insert/update/delete,掌握最基本的语法即可,什么inner join,left join的了解就行 mysql的应用场景大多都是高并发访问/业务逻辑简单,join/子查询/视图/触发器 基本上不用
  • sql 聚集查询:group by/having
  • 如何用explain 分析优化查询
  • 常见 sql 优化技巧
  • select xx from yyy limited …,
  • order by random
  • select count(*) from
  • 各种show xxx 指令,大概有20种,每个都尝试用一次
  • show VARIABLES; 大概有240项,逐条看懂,可以打印出来贴墙上

高级操作

  • mysql 主从同步配置
  • mysql 双master 配置
  • mysql 双master+丛库+keepalived 配置高可用数据库

客户端

  • 作为DBA,一定不要用各种GUI工具,mysql自带命令行client才是你的最佳武器

可选项

  • mysql 分区配置,因为限制太多,实际中分表都是程序做
  • 高性能 mysql

drizzle

MariaDB

handlersocket

吹牛逼用,实际工作也很难用上,因为性能从来都不是问题,凡是采用各种“ 奇巧淫技”的项目,必然是天坑,人民群众喜闻乐用的产品都是老老实实采用最简单朴素技术实现

ok,耐着性子20天学完,你就能胜任主流互联网公司Mysql DBA工作

吐个槽,我招募过很多DBA,mysql DBA的工作知识就这么些,其他DBA也差不多,看一遍操作一遍你就学会了,基本上不用智商。所谓亿万用户海量计算,哪只是一种经历,你在现场你就会有。DBA只是一个”看门狗”的角色:有事能打电话找到人,出了事故有人可以被罚款,没事就一边凉快去。

互联网让获取知识的成本越来越低,数据库越来越像一个普通软件,你见过浏览器,office需要专人操作么?

所以,DBA不是一个可以承载梦想的职业,年轻人如果想在技术领域有发展,想要“改变世界”,老老实实写代码当程序员去吧。

原文来自:lutaf.com