import pymysql import time # 连接MySQL数据库 conn = pymysql.connect(host='localhost', user='root', password='root', database='java') # 获取进程列表 def get_process_list(): cursor = conn.cursor() cursor.execute('SHOW FULL PROCESSLIST') result = cursor.fetchall() process_list = [] for row in result: process = { 'id': row[0], 'user': row[1], 'host': row[2], 'db': row[3], 'command': row[4], 'time': row[5], 'state': row[6], 'info': row[7] } process_list.append(process) return process_list # 实时监控 while True: process_list = get_process_list() for process in process_list: if process['command'] == 'Query' and process['state'] == 'executing': print('执行SQL语句:', process['info'], '开始时间:', time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(process['time']))) # 间隔1秒 time.sleep(1) # 关闭数据库连接 conn.close()这个代码跑起来 我再其它地方执行sql语句这里也没有输出
时间: 2024-03-15 08:43:47 浏览: 80
这段代码是一个实时监控MySQL数据库中正在执行的SQL语句的程序。它通过连接MySQL数据库,获取进程列表,判断进程的命令和状态,如果正在执行的是SQL语句,则输出相关信息。如果你在其他地方执行SQL语句,但这里没有输出,可能是因为你的SQL语句执行得太快了,没有被监控到。你可以尝试在执行SQL语句时加上一些sleep等待时间,看看是否能被监控到。或者你可以尝试修改代码,打印出所有进程的信息,看看是否有其他问题。
相关问题
conn = pymysql.connect
这是Python中使用pymysql库连接MySQL数据库的代码。你可以先安装pymysql库,然后在代码中使用以下语句连接数据库:
```python
import pymysql
# 建立数据库连接
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='password', db='database_name', charset='utf8')
# 关闭数据库连接
conn.close()
```
其中,`host`指定数据库主机地址,`port`指定数据库端口号,`user`和`passwd`指定连接数据库的用户名和密码,`db`指定要连接的数据库名称,`charset`指定字符编码。你需要根据实际情况进行修改。
用连接数据库的工具连接[event_db] host = 172.16.20.203 user = root@localhost password = Yo&66976658 database = event_test charset = utf8mb4
您想要通过数据库连接工具连接到名为`event_db`的数据库,以下是具体的连接信息:
- **主机地址**(Host):`172.16.20.203`
- **用户名**(User):`root@localhost`,这表示登录名是`root`并且连接到本地主机(通常用于本地MySQL服务器)
- **密码**(Password):`Yo&66976658`
- **数据库名称**(Database):`event_test`
- **字符集**(Charset):`utf8mb4`
要使用这些信息,大多数数据库管理工具(如MySQL Workbench、phpMyAdmin、Navicat等)会需要您输入这些字段来建立连接。如果您是在编写SQL脚本,则可能会使用类似下面的格式(以Python的pymysql为例):
```python
import pymysql
conn = pymysql.connect(
host='172.16.20.203',
user='root@localhost',
password='Yo&66976658',
db='event_test',
charset='utf8mb4'
)
# 连接成功后可以进行查询操作...
```
阅读全文