如何在linux服务器上安全地查找所有mysql数据库
这篇文章的标题几乎说明了一切: 如何获取linux服务器上所有mysql数据库的列表 我在某个地方读到过,mysql用户在可用数据库列表上的视图可能会受到限制 但是我需要一个特定linux服务器上安装的所有mysql数据库的完整列表(本例中为OpenSuse 13.1)。您需要使用 SHOW DATABASES列出MySQL服务器主机上的数据库。显示 模式是SHOW数据库的同义词。如果存在类似条款, 指示要匹配的数据库名称。可以给出WHERE子句 使用更一般的条件选择行的步骤 但是,除非您具有全局如何在linux服务器上安全地查找所有mysql数据库,mysql,linux,Mysql,Linux,这篇文章的标题几乎说明了一切: 如何获取linux服务器上所有mysql数据库的列表 我在某个地方读到过,mysql用户在可用数据库列表上的视图可能会受到限制 但是我需要一个特定linux服务器上安装的所有mysql数据库的完整列表(本例中为OpenSuse 13.1)。您需要使用 SHOW DATABASES列出MySQL服务器主机上的数据库。显示 模式是SHOW数据库的同义词。如果存在类似条款, 指示要匹配的数据库名称。可以给出WHERE子句 使用更一般的条件选择行的步骤 但是,除非您具有全
SHOW databases
权限,否则只能查看您拥有某种权限的数据库
另一种选择是使用客户端 可以使用mysqlshow客户端快速查看哪些数据库 存在、它们的表或表的列或索引
通过执行以下操作列出所有数据库:
mysql -u<username> -p<password> -e"SHOW DATABASES"
正如您在上面的输出中所看到的,有4个数据库:
mysql
、performance\u schema
、scotchbox
和wp
“mysql用户的视图可能有限制”-这就是您作为管理员这样做的原因。你说的“完整清单”是什么意思?是否有其他MySQL实例使用自己的数据库运行在同一台服务器上?您是否也对在该主机上运行的其他非MySQL数据库服务器感兴趣?你到底想完成什么?为什么?谢谢。我如何才能确定所讨论的用户(在本例中不是root用户)是否具有全局显示数据库权限?@wobits-well请尝试运行该命令。您将得到您的答案:-)那么,用户“root”通常有足够的权限来显示所有现有数据库,这是正确的吗?@wobits-这只是连接到mysql服务器的一个示例用户名。
mysql -u<username> -p<password> -e"SHOW DATABASES"
ls -l /var/lib/mysql
total 28692
-rw-r--r-- 1 mysql mysql 0 May 24 2017 debian-5.5.flag
-rw-rw---- 1 mysql mysql 5242880 Oct 6 16:50 ib_logfile0
-rw-rw---- 1 mysql mysql 5242880 Jul 10 2015 ib_logfile1
-rw-rw---- 1 mysql mysql 18874368 Jan 17 2018 ibdata1
drwx------ 2 mysql mysql 4096 May 24 2017 mysql
-rw-rw---- 1 mysql mysql 6 May 24 2017 mysql_upgrade_info
drwx------ 2 mysql mysql 4096 May 24 2017 performance_schema
drwx------ 2 mysql mysql 4096 Jul 10 2015 scotchbox
drwx------ 2 mysql mysql 4096 Jan 17 2018 wp