查看: 7112|回复: 14

[原创] 面对一个全新的环境,作为一个Mysql DBA,首先应该了解什么?

[复制链接]
论坛徽章:
10
会员2007贡献徽章
日期:2007-09-26 18:42:102011新春纪念徽章
日期:2011-02-18 11:43:342010广州亚运会纪念徽章:帆船
日期:2010-11-13 17:33:442010年世界杯参赛球队:科特迪瓦
日期:2010-10-08 11:21:35ITPUB9周年纪念徽章
日期:2010-10-08 09:31:222009日食纪念
日期:2009-07-22 09:30:00生肖徽章2007版:猴
日期:2008-01-02 17:35:53生肖徽章2007版:鸡
日期:2008-01-02 17:35:53ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28
发表于 2009-7-8 14:51 | 显示全部楼层 |阅读模式
前段时间有高人写了一篇《面对一个全新的环境,作为一个Oracle DBA,首先应该了解什么》,本文借花献佛,总结了一些思路,如何面对

一个全新的Mysql环境。

1、先要了解当前的Mysql数据库的版本和平台以及字符集等相关信息

  1. mysql> status
  2. --------------
  3. mysql  Ver 14.14 Distrib 5.1.34, for unknown-linux-gnu (x86_64) using  EditLine wrapper

  4. Connection id:                25874330
  5. Current database:       
  6. Current user:               
  7. SSL:                        Not in use
  8. Current pager:                stdout
  9. Using outfile:                ''
  10. Using delimiter:        ;
  11. Server version:                5.1.34-log Source distribution
  12. Protocol version:        10
  13. Connection:                Localhost via UNIX socket
  14. Server characterset:        utf8
  15. Db     characterset:        utf8
  16. Client characterset:        utf8
  17. Conn.  characterset:        utf8
  18. UNIX socket:                /tmp/mysql.sock
  19. Uptime:                        13 days 14 hours 18 min 36 sec

  20. Threads: 7  Questions: 190708290  Slow queries: 19  Opens: 57835  Flush tables: 1  Open tables: 84  Queries per second avg:

  21. 162.344
  22. --------------
复制代码

2、其次要了解你的数据库中支持哪些存储引擎,5.1的话顺便查下插件情况。

  1. mysql> show engines;
  2. +------------+---------+----------------------------------------------------------------+--------------+------+------------+
  3. | Engine     | Support | Comment                                                        | Transactions | XA   | Savepoints |
  4. +------------+---------+----------------------------------------------------------------+--------------+------+------------+
  5. | InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
  6. | MRG_MYISAM | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
  7. | BLACKHOLE  | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
  8. | CSV        | YES     | CSV storage engine                                             | NO           | NO   | NO         |
  9. | MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
  10. | FEDERATED  | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
  11. | ARCHIVE    | YES     | Archive storage engine                                         | NO           | NO   | NO         |
  12. | MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance         | NO           | NO   | NO         |
  13. +------------+---------+----------------------------------------------------------------+--------------+------+------------+
  14. 8 rows in set (0.00 sec)

  15. mysql> show plugins;
  16. +------------+----------+----------------+---------+---------+
  17. | Name       | Status   | Type           | Library | License |
  18. +------------+----------+----------------+---------+---------+
  19. | binlog     | ACTIVE   | STORAGE ENGINE | NULL    | GPL     |
  20. | partition  | ACTIVE   | STORAGE ENGINE | NULL    | GPL     |
  21. | ARCHIVE    | ACTIVE   | STORAGE ENGINE | NULL    | GPL     |
  22. | BLACKHOLE  | ACTIVE   | STORAGE ENGINE | NULL    | GPL     |
  23. | CSV        | ACTIVE   | STORAGE ENGINE | NULL    | GPL     |
  24. | FEDERATED  | DISABLED | STORAGE ENGINE | NULL    | GPL     |
  25. | MEMORY     | ACTIVE   | STORAGE ENGINE | NULL    | GPL     |
  26. | InnoDB     | ACTIVE   | STORAGE ENGINE | NULL    | GPL     |
  27. | MyISAM     | ACTIVE   | STORAGE ENGINE | NULL    | GPL     |
  28. | MRG_MYISAM | ACTIVE   | STORAGE ENGINE | NULL    | GPL     |
  29. +------------+----------+----------------+---------+---------+
复制代码
 

3、搞清楚这个环境是单机还是集群?

  1. mysql> show variables like 'have_ndbcluster';
  2. +-----------------+-------+
  3. | Variable_name   | Value |
  4. +-----------------+-------+
  5. | have_ndbcluster | NO    |
  6. +-----------------+-------+
  7. 1 row in set (0.00 sec)
复制代码


4、是否配置了REPLICATION?

  1. mysql> show slave status\G;
  2. mysql> show master status\G;
复制代码


5、查看Mysql的日志模式,查看近期的慢查询日志和ERR日志。

  1. mysql> show variables like 'log%';
  2. +---------------------------------+----------------------+
  3. | Variable_name                   | Value                |
  4. +---------------------------------+----------------------+
  5. | log                             | OFF                  |
  6. | log_bin                         | ON                   |
  7. | log_bin_trust_function_creators | OFF                  |
  8. | log_bin_trust_routine_creators  | OFF                  |
  9. | log_error                       | /dir/hostname.err    |
  10. | log_output                      | FILE                 |
  11. | log_queries_not_using_indexes   | OFF                  |
  12. | log_slave_updates               | OFF                  |
  13. | log_slow_queries                | ON                   |
  14. | log_warnings                    | 1                    |
  15. +---------------------------------+----------------------+
复制代码
 

6、查看Mysql当前有哪些触发器和存储过程

  1. mysql> show triggers;
  2. mysql> show procedure status;
复制代码


7、是否支持分区,如果支持哪些使用了分区表

  1. mysql> show variables like 'have_part%';
  2. +-------------------+-------+
  3. | Variable_name     | Value |
  4. +-------------------+-------+
  5. | have_partitioning | YES   |
  6. +-------------------+-------+
  7. 1 row in set (0.00 sec)

  8. mysql> select TABLE_NAME from information_schema.PARTITIONS where PARTITION_NAME is not null;
复制代码


8、有多少用户拥有超级权限,是否有密码为空(ROOT密码默认为空),密码为空马上处理。


  1. mysql> select * from information_schema.USER_PRIVILEGES where PRIVILEGE_TYPE='SUPER';
  2. mysql> select host,User,Password from mysql.user where Password='';
  3. +-------------+------+----------+
  4. | host        | User | Password |
  5. +-------------+------+----------+
  6. | localhost   | root |          |
  7. | 127.0.0.1   | root |          |
  8. +-------------+------+----------+
  9. mysql> delete from mysql.user where Password='';flush PRIVILEGES;
复制代码


9.show processlist
执行一会show processlist,看看 Mysql 能有多少并发,一般都是什么sql。

10、更进一步,Mysql的备份方法和策略是什么?网络环境的配置是如何的?

11、跑几个性能分析报告,看看最近系统的运行状态如何,例如用mysqlreport。

OK,以上信息基本上对你新接触的这个系统有了一个大概的了解,接下来你再慢慢的深入分析,然后制订出一套符合实际情况的运维规范来。

当然,这只是个人的一些心得和体会,每个人的认识的角度是不一样的,欢迎大家继续补充完善。

[ 本帖最后由 shengang34 于 2009-7-8 14:56 编辑 ]
论坛徽章:
6
授权会员
日期:2007-04-10 16:54:19会员2007贡献徽章
日期:2007-09-26 18:42:10生肖徽章2007版:鸡
日期:2008-01-02 17:35:53生肖徽章2007版:猴
日期:2009-03-10 21:16:26秀才
日期:2015-06-16 09:34:58秀才
日期:2015-06-19 12:32:40
发表于 2009-7-8 18:53 | 显示全部楼层

使用道具 举报

回复
论坛徽章:
0
发表于 2009-7-8 21:47 | 显示全部楼层
谢谢分享啊,好东西啊

使用道具 举报

回复
论坛徽章:
3
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512011新春纪念徽章
日期:2011-02-18 11:43:332012新春纪念徽章
日期:2012-01-04 11:56:44
发表于 2010-9-25 11:25 | 显示全部楼层
谢谢分享,虽然这些操作我都做过,命令也敲过,但是没有一起总结。

也没有这么规范过,楼主是根据啥来决定,面对新环境,必须先弄清楚这些东西的呢?

使用道具 举报

回复
论坛徽章:
28
2010数据库技术大会纪念徽章
日期:2010-05-13 09:34:232012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:25版主2段
日期:2012-07-05 02:21:032013年新春福章
日期:2013-02-25 14:51:24ITPUB社区12周年站庆徽章
日期:2013-08-12 09:34:36马上有车
日期:2014-02-19 11:55:14
发表于 2010-9-25 11:59 | 显示全部楼层
不错,支持了。
楼主说了,思路有参考托马斯张写的那个Oracle的

使用道具 举报

回复
论坛徽章:
0
发表于 2010-9-25 16:45 | 显示全部楼层
新环境,多看,多记,少动

使用道具 举报

回复
论坛徽章:
27
数据库板块每日发贴之星
日期:2005-12-22 01:01:31ITPUB十周年纪念徽章
日期:2011-11-01 16:21:152012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:09版主2段
日期:2012-05-15 15:24:11马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14
发表于 2010-9-25 17:37 | 显示全部楼层
这个不错。
如果可能,作为一个DBA,接手一个新的环境,你不光要了解DB的情况 ,还需要去了解应用;
需要了解应用给DB可能带来的压力和风险,这样你才心里有底。

使用道具 举报

回复
论坛徽章:
3
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512011新春纪念徽章
日期:2011-02-18 11:43:332012新春纪念徽章
日期:2012-01-04 11:56:44
发表于 2010-10-9 09:25 | 显示全部楼层
原帖由 Steven_1981 于 2010-9-25 17:37 发表
这个不错。
如果可能,作为一个DBA,接手一个新的环境,你不光要了解DB的情况 ,还需要去了解应用;
需要了解应用给DB可能带来的压力和风险,这样你才心里有底。



如何了解应用啊,了解应用到啥程度呢?

使用道具 举报

回复
论坛徽章:
6
BLOG每日发帖之星
日期:2010-07-03 01:01:03BLOG每日发帖之星
日期:2010-07-09 01:01:03BLOG每日发帖之星
日期:2010-07-23 01:01:01BLOG每日发帖之星
日期:2010-08-04 01:01:01ITPUB9周年纪念徽章
日期:2010-10-08 09:28:522011新春纪念徽章
日期:2011-02-18 11:43:34
发表于 2010-10-9 13:11 | 显示全部楼层
顶。好文,谢谢分享!

使用道具 举报

回复
论坛徽章:
27
数据库板块每日发贴之星
日期:2005-12-22 01:01:31ITPUB十周年纪念徽章
日期:2011-11-01 16:21:152012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:09版主2段
日期:2012-05-15 15:24:11马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14
发表于 2010-10-13 12:58 | 显示全部楼层

回复 #8 oraclemch 的帖子

如果还能找到应用人员,最好了。
他们清楚自己的程序。
  设计这个应用时,目标压力是多少? (这个压力指的是用户量,访问量等),可能你需要把这个压力转化成QPS和IOPS
   在应用前端是否有CACHE支持;
  你还可以了解细一点,整个应用,哪些模块压力会比较大,可能针对哪些表。 如果知道哪些表有瓶颈,最好把SQL也过一下。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表