我知道使用 JDBC 我们可以为数据库内的查询创建输出,但是我怎样才能将命令SHOW PROCESSLIST
的输出作为 Java 程序的输出。
在 mysql 中,我们通过以下方式获取它:SHOW PROCESSLIST
但我想知道我们是否可以使用 Java 生成输出?
您可以使用 executeQuery 来获取SHOW PROCESSLIST ResultSet。
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql", "root", password);
Statement stmt = null;
try {
stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SHOW PROCESSLIST");
while (rs.next())
{
System.out.println(rs.getString("Host"));
System.out.println(rs.getString("Id"));
System.out.println(rs.getString("User"));
System.out.println(rs.getString("db"));
System.out.println(rs.getString("Command"));
System.out.println(rs.getString("state"));
System.out.println(rs.getString("info"));
}
根据您的 MySQL 版本,您可以在
SELECT * FROM information_schema.PROCESSLIST;
您可以在用户、数据库和主机 IP 之间进行定位。
例如:
SELECT * FROM information_schema.PROCESSLIST WHERE db ="mycase" AND HOST LIKE "192.168.11.174%"