MySQL查看有哪些数据库|登录客户端执行showdatabases;即可

MySQL查看有哪些数据库|登录客户端执行showdatabases;即可

MySQL查看有哪些数据库|登录客户端执行show databases;即可

上周帮运维临时处理工单,要做MySQL查看有哪些数据库的操作,手边的远程可视化工具突然崩了,只能靠原生的命令行窗口连服务器,本来想着摸鱼糊弄过去,结果对接的开发催的很紧,没法随便糊弄了事。之前偷懒总依赖Navicat这类图形化软件,点开左侧导航栏就能直观看见全部数据库,压根没费心去记原生的查询语句,这下工具打不开,瞬间卡在原地。服务器的ssh连接是临时借来的权限,密码随手记在便签纸上,输错两次之后系统做了短时限制登录,蹲在工位上盯着黑屏的终端发呆,心思一半放在赶任务,一半惦记待会的奶茶,做事总习惯性留后手的毛病偏偏在这天破了功,明明前一周刚看过相关教程,转头就把关键命令抛在脑后。

随便在搜索引擎扒了零散语句,敲了select database();回车,终端只返回了当前正在使用的单个库名,翻来覆去执行三四遍,结果始终没变,才反应过来这条指令只能查当下连接的数据库,没办法罗列全实例下所有内容。还傻乎乎在语句末尾追加星号、from这类字段,每一次回车换来的都是红色报错,越调试心里越烦躁,手边的鼠标被无意识来回滑动,浪费了将近二十分钟的空闲时间。

隔壁工位。

后来凑过去问隔壁常年摸鱼的老技术员,那人半趴在桌面,手指随意敲了行show databases;,没多做多余讲解,转头就继续刷休闲网页。复制粘贴这条命令进终端,回车之后屏幕逐行列出本地实例全部数据库名称,从系统自带的mysql、information_schema到项目业务库整整齐齐排布,那一刻才清楚原生查询的最简写法,没有多余参数,不用额外配置任何环境变量,只要拥有对应实例的访问权限就能正常调取数据。那会还自作聪明想要在语句后面加where筛选条件,写完执行直接报语法错误,报错代码蹦在屏幕上,才知晓这条查询语句本身不支持条件过滤,想要筛选指定库只能搭配模糊查询的like拼接在后方,这一步踩的弯路足足耗掉小半个钟头。

隔了三天,异地项目的线上环境出了小状况,那边的运维习惯用DBeaver,偏偏服务器限制第三方可视化软件接入,又遇上需要核对实例库资源的场景,远程语音对接的时候,直接把show schemas;这条备选指令发了过去,对方执行之后同样成功拉出全部库表,才慢慢理清两条语句的关联,show schemas在多数稳定版本的MySQL里和show databases作用完全一致,就是不同SQL规范下的同义写法,之前从来没留意过这条替代命令,全靠偶然的远程协作攒下这点细碎知识,事后也没有特意整理到笔记里,全凭零散记忆留存。

其实平时日常运维,十次有八次会打开图形化工具,原生命令总被搁置在脑后,总觉得图形界面省事,点点鼠标就能搞定,没必要死记生硬的代码,可每次遇上工具受限、权限收紧的特殊场景,之前偷懒落下的知识点就会变成卡点。有一回测试环境改防火墙策略,所有客户端软件全被拦截,整组人围着服务器终端,大半同事都想不起查询数据库的原生指令,挨个试错浪费半个多小时,事后部门内部随口提了一句这件小事,也没人特意整理归档,转头该摸鱼还是照旧摸鱼,没人把零散的实操细节放在心上。

晚饭前收拾桌面,无意间翻到当初记命令的便签,纸条边角被水杯泡的发皱,上面歪歪扭扭记着两条查询语句,多余的备注写了一堆没用的废话,真正能用的内容寥寥无几,随手揉成团丢进桌角的废纸篓,起身收拾东西准备打卡下班。

了解更多百科知识请访问 百科