MySQL 查询语法与 Linux 系统管理基础
Linux 环境与 Shell 脚本
在日常运维中,脚本执行通常位于当前目录,直接运行 ./xxx.sh 即可。文件复制与删除若涉及目录层级,需加上递归参数 -r,例如 cp -r 和 rm -r。
关于权限管理,临时获取 root 权限常用 sudo。若需修改 /etc/sudoers 文件以允许特定用户免密执行,可添加类似 yonghu ALL=(root) NOPASSWD:ALL 的配置。切换用户推荐使用 su -,而 sudo su 也是可行的组合。如果用户存在但无法登录,检查 /etc/passwd 文件中该用户的 Shell 设置,将 /sbin/nologin 改为 /bin/bash 即可恢复。
排查网络问题时,查看端口占用可使用 netstat -nlp | grep pid。遇到命令未找到(not found)的情况,先确认拼写,再检查环境变量路径,必要时进行安装。HDFS 权限不足时,可通过 su - hadoop -c 切换用户或调整权限解决。
MySQL 查询核心
在关联查询中,LEFT JOIN 的主表是左边的表(A)。自连接(A 表 join A 表)常用于处理层级数据。当需要合并结果集导致数据膨胀时,可以使用 UNION。
分组聚合方面,GROUP BY 配合 HAVING 进行条件过滤。注意一个关键点:查询列必须出现在 GROUP BY 子句中,除非使用了聚合函数。子查询本质上就是查询生成的临时表,理解这一点有助于优化复杂逻辑。

