阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

DBA需关注系统的几个基本状态

51次阅读
没有评论

共计 1232 个字符,预计需要花费 4 分钟才能阅读完成。

DBA 登入后,应该关注系统的几个基本状态,做到心中有数。

虽然现在都在推广自动化运维,不过有些时候还是需要登入到服务器去做些事情。那么,在有限的几次登入服务器机会中,作为 DBA 应该关注哪些事情呢?

1、检查除了自己以外,还有谁也登入到服务器上

一方面是查看还有哪些管理员在服务器上,自己的某些操作是否会影响到对方。比如有些洁癖重度患者会把 /tmp 下的临时文件删掉,或者清除一些看到的临时文件,而这些文件没准就是其他管理员临时生成的。

另外,这个习惯也能帮助我们消除一些安全隐患,比如看到某些管理员从不该被允许的远程 IP 登入进来,甚至是有些管理员直接从本地 tty 终端登入进来工作后,忘记关闭终端,直接关闭显示器,这种情况下在 IDC 值守的人,接上键盘就可以长驱直入无需账号密码。就像下面这样的:

DBA 需关注系统的几个基本状态

第一列表示登录用户名;第二列表示登录终端,tty 表示本地终端 ,pts 表示远程终端;第三列表示登录时间、IP 地址。

遇到这种情况,先找到这个 login bash 的进程 ID,用 lsof 查看是否有打开文件来确认这个进程当前没有进行重要操作,确认没问题的话,就可以把这个进程给 kill 了,这个登入也自然会退出。

DBA 需关注系统的几个基本状态

2、检查系统整体负载以及整体状况

了解系统当前负载情况,对比之前同时段登入时的系统负载情况,直观感觉系统负载是否有大幅波动,或者判断系统负载是否超过平均的负载值,以便及时处理。

DBA 需关注系统的几个基本状态

3、找到消耗 CPU、内存资源最多的进程

如果当前系统运行多个 mysqld 进程,或者 MySQL 和 Nginx、PHP、java 等混跑的话,可以查看哪个进程消耗较多资源。

如果是某个 mysqld 进程消耗的 CPU 长期超过 100%,那么 10 有 89 的有可能是因为当前执行的 SQL 没有索引,或者索引使用不当导致。

4、查看 MySQL 中是否有耗时较久的请求

查看当前 MySQL 中是否有某些状态持续较长时间,比如 Sending data、Coping to tmo table、Creating sort index 等状态,一旦处于这些状态的 SQL 经常出现,那么几乎肯定是需要进行优化了。

说了这么多,肯定有同学按捺不住了。别着急嘛,老叶已经把这些关注点都整到一个 shell 脚本里了,大家可以访问我的 github 查看,也欢迎补充,说说你们登入服务器后,最关注哪些东西,并且会先做哪些事情。

github 地址:https://github.com/zhishutech/mysqldba/blob/master/scripts/dba_login.sh

我们可以把这个脚本放在 DBA 工具专用目录下,然后在 /etc/profile 中增加类似下面这样一行,每次登入后就都会调用脚本执行了:

DBA 需关注系统的几个基本状态

我之前写过类似脚本,但找不到了,这是昨晚临时随手重写了个,还有很多不完善的。也当做是抛砖引玉了,希望大家继续来补充完善。

下面是登入 MySQL 服务器后的提示

DBA 需关注系统的几个基本状态

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-09-20发表,共计1232字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中