使用JAVA在mysql中为SHOW PROCESSLIST动态输出

时间:2012-12-26 06:18:54

标签: java mysql jdbc

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

在mysql中我们得到它:SHOW PROCESSLIST

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

2 个答案:

答案 0 :(得分: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"));
                }

答案 1 :(得分:0)

根据您的MySQL版本,您可以执行选择

SELECT * FROM information_schema.PROCESSLIST;

您可以在用户,数据库和主机IP之间进行操作。

例如:

SELECT * FROM information_schema.PROCESSLIST WHERE db ="mycase" AND HOST LIKE "192.168.11.174%"