0

我知道使用 JDBC 我们可以为数据库内的查询创建输出,但是我怎样才能将命令SHOW PROCESSLIST的输出作为 Java 程序的输出。

在 mysql 中,我们通过以下方式获取它:SHOW PROCESSLIST

但我想知道我们是否可以使用 Java 生成输出?

4

2 回答 2

1

您可以使用 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"));
                }
于 2012-12-26T06:27:38.013 回答
0

根据您的 MySQL 版本,您可以在

SELECT * FROM information_schema.PROCESSLIST;

您可以在用户、数据库和主机 IP 之间进行定位。

例如:

SELECT * FROM information_schema.PROCESSLIST WHERE db ="mycase" AND HOST LIKE "192.168.11.174%"
于 2012-12-26T06:28:17.063 回答