天天看点

记录集 执行mysql_mysql 多次查询后再执行记录集

mysql 多次查询后再执行记录集

关注:234  答案:2  mip版

解决时间 2021-01-17 06:32

记录集 执行mysql_mysql 多次查询后再执行记录集

提问者酒瘾渼亽兒

2021-01-16 12:11

一、概况

一个项目需要远程连接MySQL,但是该项目必须基于udp实现,远程连接MySQL是基于TCP协议,所以无法直接从远程连接上MySQL,现在想自己编软件作为中间件,远程发送增 删 改 查等命令到中间件,然后由中间件执行SQL语句后返回执行结果到远程计算机。

二、问题

1、有没有更简单的方法能实现远程连接到MySQL(只知道MySQL服务器公网地址的情况下)

2、由于多个客户端同时使用相同的一个MySQL句柄,所以可能会存在多次查询后得到 记录集句柄 但是又不马上使用记录集句柄,过段时间后再使用该记录集句柄去读数据会不会出错。

3、比如客户机A从MySQL查询得到一个记录,紧接着客户机B又把该记录删除了,之后客户机A又利用刚才得到的记录集句柄去读取这段记录,这种情况下是否会出错?

3、MySQL的记录集会不会自动关闭。

请各位大哥给小弟讲讲,我没做过相关的东西,MySQL接触的也不多,确实是不懂,先谢谢各位了!

最佳答案

记录集 执行mysql_mysql 多次查询后再执行记录集

二级知识专家妳旳笑魅惑了涐旳瞳

2021-01-16 13:24

你的问题

1. 中间件一般是最简单的了,如果可以绑定一个端口开放tcp协议不就完了,没有一杆子打死的,在不行就自己修改mysql源码改成udp协议的。

2. 如果怕数据不一致,那就弄成触发器形式,如果数据有变化即时通知客户端,客户端实时更新。或者使用记录集时再次实时获取数据并更新,查询出的数据只做参考。

3. 关不关闭,就看你中间件的功能了。

全部回答

记录集 执行mysql_mysql 多次查询后再执行记录集

1楼娇而不傲的猫

2021-01-16 14:50

-- 打开sql 执行记录功能

set global log_output='table'; -- 输出到表

set global log=on; -- 打开所有命令

执行记录功能general_log, 所有语句: 成功和未成功的.

set global log_slow_queries=on; -- 打开慢查询 sql 记录

slow_log, 执行成功的: 慢查询语句和未使用索引的语句

set global long_query_time=0.1; -- 慢查询时间限制(秒)

set global log_queries_not_using_indexes=on; -- 记录未使用索引的sql 语句

-- 查询sql 执行记录

select * from mysql.slow_log order by 1; -- 执行成功的:慢查询语句,和未

使用索引的语句

select * from mysql.general_log order by 1; -- 所有语句: 成功和未成功的.-- 关闭sql 执行记录

我要举报

如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

点此我要举报以上信息!

推荐资讯

大家都在看