本文专为DBA(数据库管理员) 初学者设计,系统梳理 CentOS日常运维核心命令,帮你快速上手Linux的使用,丰富DBA技能包。
一、 系统与硬件信息查询
全面了解服务器是运维工作的第一步。以下命令帮助你从内核到硬件,建立完整的系统画像。
1. uname -a

2. cat /etc/redhat-release或 cat /etc/os-release
3. hostnamectl
4. uptime
核心作用:显示系统已运行时间、当前登录用户数和系统平均负载(1,5,15分钟)
DBA场景:负载值如果长期超过CPU核心数,说明系统压力大,可能影响数据库响应
5. lscpu
6. lsblk或 fdisk -l
7. dmidecode -t memory
二、 文件与目录操作
高效、安全地管理配置文件、日志文件和备份文件,是DBA的日常基本功。
8. ls -lht
组合参数:-l列表,-h易读大小,-t按时间排序。可快速找到最近修改过的大文件。
9. cd -
核心作用:快速切换回上一个工作目录。在两个常用目录间跳转时非常方便。
10. pwd -P
核心作用:显示当前目录的真实物理路径,而非软链接路径。
11. cp -a
核心作用:归档复制,保留文件所有属性(权限、时间、所有者)和目录结构。备份时的首选参数。
12. chmod -R 750 go
核心作用:-R参数递归修改go目录下所有文件和子目录的权限。
13. chown -R mysql:root /usr/local/mysql8.4
核心作用:递归修改目录所有者和所属组,这是安装Oracle软件后的标准操作。
14. find / -name "ib*" -size +1M
核心作用:在/ 目录下查找所有大于1MB的ib开头的文件。
15. grep -n -i “error“ mysqld.log
组合参数:-n显示行号,-i忽略大小写。在日志中精准定位相关日志。
16. head -n 5 mysqld.log与 tail -n 5 mysqld.log
核心作用:分别查看文件开头5行和末尾5行。快速预览配置或检查日志结尾。
17. tail -mysqld.log
核心作用:-F不仅能跟踪文件,还能在文件被轮转(如logrotate)后,继续跟踪新文件。监控日志的终极命令。
18. 归档与压缩
tar -zcvf backup_$(date +%F).tar.gz /data/backup
核心作用:将/data/backup目录压缩打包,并以当前日期命名。-z调用gzip压缩。
19. du -h --max-depth=1 /data/*
核心作用:查看/data/下一级子目录的大小,快速定位占用空间最大的组件。
三、 系统监控与性能
数据库性能与系统资源息息相关。这些命令是你定位瓶颈的“听诊器”。
20 . top
进阶技巧:运行时按1显示所有CPU核心详情;按c显示完整命令路径。
21 . htop
优势:颜色高亮、垂直水平滚动、鼠标点选操作,对进程管理更直观。需yum install htop安装。
22. vmstat 2 5
核心作用:每隔2秒采样一次,共采样5次。重点关注:si(从磁盘换入内存)、so(从内存换出到磁盘)如果长期大于0,说明内存严重不足。
23. free -h
解读:主要看available列,这是系统可用的真实内存(包含buff/cache中可回收部分)。
24. swapon -s
核心作用:显示所有交换分区(swap)的使用情况。频繁使用swap会极大降低数据库性能。
25. iostat -dx 2
核心作用:每2秒显示一次扩展磁盘统计。关键指标:%util(设备利用率,接近100%表示I/O饱和)、await(I/O平均等待时间)。需要安装sysstat包,yum install -y sysstat
26. iotop
核心作用:类似top,但用于实时显示磁盘I/O进程排名。需yum install iotop安装。
27. sar -n DEV 2 5
核心作用:每2秒采样一次网络设备(网卡)流量,共5次。来自sysstat工具包,是历史性能分析的瑞士军刀。
28. dstat -cdngy 2
核心作用:整合了vmstat, iostat, netstat等工具的输出,色彩鲜明,实时查看CPU、磁盘、网络、内存、系统状态。需安装yum install -y dstat
四、 网络配置与诊断
确保数据库监听、主从通信、应用连接的畅通无阻。
29. ip addr show或 nmcli con show
现代选择:ip命令是ifconfig的替代。nmcli是NetworkManager命令行工具,管理网络连接更强大。
30. ss -tlnp
核心作用:显示所有TCP监听端口及对应进程PID和名称。比netstat更快更高效。
31. netstat -s
核心作用:显示所有网络协议的汇总统计信息(如TCP重传、错误包数量),用于高阶网络问题排查。需安装net-tools,yum install -y net-tools
32. ping -c 4 -i 2 192.168.1.1
核心作用:发送4个ICMP包,间隔2秒。-c指定次数,-i指定间隔。
33. traceroute www.baidu.com
核心作用:追踪数据包到达目标主机所经过的每一跳路由,定位网络延迟发生在哪个环节。需安装yum install -y traceroute
34. nc -zv 192.168.56.102 3306
核心作用:使用nc(netcat) 工具快速探测目标主机的3306端口是否开放并可连接。需安装yum install -y nmap-ncat
35. telnet 192.168.56.102 3306
核心作用:测试到mysql数据库监听端口的基础连通性。看到空白光标或乱码字符通常表示端口通。需安装yum install -y telnet
36. tcpdump -i enp0s8 port 3306 -nn
核心作用:在enp0s8网卡上抓取MySQL端口(3306)的原始网络包。终极网络问题诊断工具,需root权限。需安装yum install -y tcpdump
五、 进程与服务管理
掌控数据库进程的生命周期,确保服务高可用。
37. ps -ef | grep mysql
核心作用:查找MySQL进程,确认数据库实例是否运行。
38. ps -aux --sort=-%mem | head -10
核心作用:按内存使用率倒序排列,显示前10个进程。快速找出“内存杀手”。
39. pstree -p 998
核心作用:以树状图显示进程及其子进程,清晰展示进程父子关系。需安装yum install -y psmis
40 kill -15 PID与 kill -9 PID
区别:-15(SIGTERM)是优雅终止,允许进程清理后退出;-9(SIGKILL)是强制杀死,可能导致数据损坏。务必先尝试-15。
41. pkill -9 -f "java"
核心作用:根据进程名(包含“java”字符串)来批量结束进程。
42. nohup ./startup.sh &
核心作用:nohup让进程忽略挂断信号,&放入后台运行。用于启动需要长时间运行且不希望因退出终端而停止的服务。
43. systemctl list-unit-files --type=service | grep enabled
核心作用:列出所有开机自启的服务。避免不必要的服务占用资源。
44. journalctl -u mysqld -f -n 100
核心作用:使用journalctl查看mysqld服务的系统日志,-f追踪,-n 100显示最后100行。统一管理服务日志。
六、 包管理与系统工具
安装依赖、调度任务、环境配置,这些命令让一切井井有条。
45. yum provides */libaio.so.1
核心作用:查找哪个软件包提供指定的文件(如MySQL/Oracle依赖的libaio库)。
46. yum history libaio ID
核心作用:回滚指定ID的yum事务操作,救命命令,用于安全卸载或降级。
47. yum clean all && yum makecache
核心作用:清理所有YUM缓存并重建元数据缓存,解决有时包列表不更新的问题。
48. crontab -e
核心作用:编辑当前用户的定时任务。DBA场景:添加 0 2 * * * /script/db_backup.sh实现每天凌晨2点备份。
49. which mysql与 whereis mysql
区别:which显示执行命令的路径;whereis显示二进制文件、源码和手册页的位置。
50 alias ll=’ls -lh’
核心作用:为常用长命令设置简短别名。可将此命令加入~/.bashrc文件永久生效。
七、 用户、权限与安全
管理数据库运行所需的操作系统账户和环境。
51. id mysql
核心作用:显示指定用户(mysql)的UID、GID及所属组列表。
52. usermod -aG dba oracle
核心作用:将oracle用户追加到dba附属组中,-a参数至关重要,避免移除原有其他组。
53. visudo
核心作用:安全编辑sudoers配置文件的专用命令。可授予DBA用户免密运行特定管理命令的权限。
54. passwd -l mysql与 passwd -u mysql
核心作用:-l锁定用户,-u解锁用户。临时禁用某个系统账号。
55. env | grep PATH
核心作用:显示所有环境变量,并过滤出与PATH相关的。检查数据库运行环境是否正确。
56. history | grep "systemctl"
核心作用:在历史命令中搜索包含“systemctl”的命令。快速找回之前执行过的服务管理命令。
八、 总结与学习路径建议
掌握命令的关键在于理解而非死记。建议DBA朋友按以下路径实践:
生存阶段:熟记 top, df -h, free -h, ps, ss, systemctl这六大核心。
诊断阶段:遇到问题,学会用 iostat看磁盘,vmstat看内存,sar看历史,tcpdump抓网络。
高效阶段:灵活组合命令,如 ps -ef | grep, find ... | xargs, 并使用 alias创建快捷方式。
自动化阶段:将复杂检查写成脚本,并用 crontab定时执行。
命令是工具,解决问题的思路才是核心。从今天起,尝试在每次操作中多问一句“有没有更优的命令?”,你将迅速成长为一名游刃有余的DBA。
你认为DBA还需要哪些技能?欢迎在留言区给出你的答案!
关注微信公众号「数据库干货铺」,获取更多数据库运维干货。