JDBC を使用してデータベース内のクエリの出力を作成できることは知っていますが、コマンドSHOW PROCESSLIST
の出力を Java プログラムの出力として取得するにはどうすればよいでしょうか。
mysql では、次の方法で取得します。SHOW PROCESSLIST
しかし、Java を使用して出力を生成できるかどうか疑問に思っていました。
SHOW PROCESSLIST ResultSetを取得するには、executeQuery を使用できます。
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 の間で where を実行できます。
例えば:
SELECT * FROM information_schema.PROCESSLIST WHERE db ="mycase" AND HOST LIKE "192.168.11.174%"