首页 >>  正文

mysql多对多查询

来源:baiyundou.net   日期:2024-09-21

作者:羽度非凡

前两天有网友联系我QQ说我的网站打不开了,查看之后发现是MySQL服务停止了,当时没有在意,重新启动MySQL服务之后,网站恢复了正常,但等到第二天查看网站的时候,发现网站又不能正常访问了,问题仍然是MySQL服务自动停止。

我的网站搭建在腾讯云的云服务器上,于是使用服务器的“自助检测”功能排查问题,原来是内存利用率曾达到90%,估计是内存过高导致MySQL服务被迫停止。

我使用的云服务器配置并不高,2核的CPU搭配2GB的内存,是腾讯云最基础款的云服务器了,而且也没有升级配置的计划,所以打算从现有的服务入手,看能否删除一些不太重要的服务组件,从而节省系统资源。

在腾讯云的云服务器中有一个监控主机安全的防护客户端——云镜,排除其他系统必需的服务之外,能删除的也就只有“云镜”了,它的主程序服务进程名为“YDService”,在Linux系统下使用top命令可以查看当前运行的服务进程。

通过查看“YDService”进程对应的目录可以看到,“云镜”的主程序安装在“/usr/local/qcloud/YunJing/”目录中。

直接借助腾讯云服务器自带的卸载脚本完成卸载,依次运行3条卸载脚本:

/usr/local/qcloud/stargate/admin/uninstall.sh

/usr/local/qcloud/YunJing/uninst.sh

/usr/local/qcloud/monitor/barad/admin/uninstall.sh

这样我们除了卸载“云镜”主程序,还卸载了腾讯云自带的监控组件,同时直接删除相关目录:

rm -rf /usr/local/qcloud

接着查询相关的程序进程有没有清理干净,可以使用下面的命令:

ps -A | grep agent

我这里仍然可以看到一条“tat_agent”的进程,所以我尝试停止并禁止这项服务:

systemctl stop tat_agent

systemctl disable tat_agent

此时再次查询相关的程序进程的时候已经没有内容输出了,也就证明相关服务已经停止了,接着彻底删除这些进程对应的目录:

rm -f /etc/systemd/system/tat_agent.service

rm -rf /usr/local/sa

rm -rf /usr/local/agenttools

rm -rf /tmp/tat_agent

同时,开机启动项的文件也需要编辑,对应文件目录为“/etc/rc.d/rc.local”,将其中包含“/usr/local/qcloud/”路径的所有信息直接删除即可。

以上操作全部完成后,建议重启一次云服务器。

我是在1月30日彻底删除腾讯云服务器中的云镜和监控组件的,直到我发布这篇文章的时候(2月7日),服务器一直运行正常,也没有再出现内存占用过高的问题。

","force_purephv":"0","gnid":"9151c708ec27fc355","img_data":[{"flag":2,"img":[{"desc":"","height":"209","title":"","url":"https://p0.ssl.img.360kuai.com/t017d3687c39849aa03.jpg","width":"600"},{"desc":"","height":"215","title":"","url":"https://p0.ssl.img.360kuai.com/t01e97aa6253910f197.jpg","width":"403"},{"desc":"","height":"188","title":"","url":"https://p0.ssl.img.360kuai.com/t0130026693e4717c50.jpg","width":"564"},{"desc":"","height":"291","title":"","url":"https://p0.ssl.img.360kuai.com/t01e5035a6b501f8580.jpg","width":"600"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"cache","pub_time":1675845669000,"pure":"","rawurl":"http://zm.news.so.com/b7668fc01f7fa3c143052d1341e4f56a","redirect":0,"rptid":"c96e06d578e18e78","s":"t","src":"什么值得买","tag":[{"clk":"ktechnology_1:腾讯云","k":"腾讯云","u":""},{"clk":"ktechnology_1:mysql","k":"mysql","u":""}],"title":"MySQL总是停止服务,卸载服务器安全防护组件,轻松解决

游君奚2319MySQL 如何多表查询 -
明俩萍13739363555 ______ 我觉得:1. 表结构不同的话,用你的来方法比较好,速度自快. 写成这样:select count(*) from `知b` where `nid` = '123'; 直接统计出数目道了 2.表结构相同的话: 写成这样select count(*) from `a` where `nid` = '123' UNION ALL select count(*) from `b` where `nid` = '123';

游君奚2319sql里面多对多查询语法及原理 -
明俩萍13739363555 ______ 内连接:多对多共用的部分 select * from a,b where a.id = b.id 左连接:多对多共用部分加上左边表的全部 select * from a left join b on a.id=b.id 右连接:与左连接相反 select * from a right join b on a.id=b.id

游君奚2319mysql 多表查询并排序
明俩萍13739363555 ______ 1.查询一张表: select * from 表名; 2.查询指定字段:select 字段1,字段2,字段3….from 表名; 3.where条件查询:select 字段1,字段2,字段3 frome 表名 where 条件表达式;例:select * from t_studect where id=1; select * from t_student ...

游君奚2319mysql 多表查询 -
明俩萍13739363555 ______ 其实将问题分解一下就很清楚了,首先将3个表中的推荐和点击数这2个指标都联合查询出来,然后按照点击数排序(可以正序或者倒序,在order by dianji 中采用asc或者desc进行指定).实现sql如下:select tuijian,dianji from (select tuijian,dianji from 表one union all select tuijian,dianji from 表two union all select tuijian,dianji from 表three ) order by dianji desc --倒序 希望能有帮助,^_^.

游君奚2319MYSQL中多表查询 GROUP BY -
明俩萍13739363555 ______ 这么写:select uid,name,max(dateline) dateline from a,b where a.uid = b.uid group by uid,name order by max(dateline)

游君奚2319mysql 多对多映射关系的筛选SQL怎么写 -
明俩萍13739363555 ______ call sp_add(); 是不是你定义的过程有问题吧,并没有指出返回结果来 像我这样是可以的:CREATE PROCEDURE sp_add(a int, b int,out c int) begin set c=a+ b; end; 调用过程:call sp_add (1,2,@a); select @a;

游君奚2319一对多查询,mysql -
明俩萍13739363555 ______ select count(1) from table1 where id in( select table1_id from table2 where src in(n1,n2,n3,n4))

游君奚2319mysql多表联合查询 如何知道查出的数据是从哪张表出来的? -
明俩萍13739363555 ______ 查询的时候加个东西就好了 比如3个表连接,表名分别叫a,b,c select 'a' tbname,a.* from a union all select 'b' tbname,b.* from b union all select 'c' tbname,c.* from c 最后查出来,tbname那个就代表从哪个表出来的数据

游君奚2319sql数据库中多对多的查询语句怎样写?表如专业表:magor (mid magorname) -
明俩萍13739363555 ______ 就是连接查询吧,例如以下查询语句:select A.magorif,B.mid from magorif A,m--i B where A.fid=B.fid 查询结果:magorif mid 数据 数据 是这个意思吗?我举的例子是等价连接,就是条件表里面的字段fid跟关系表里面的字段fid完全一致,如果不是等值连接,还有其他连接(例如左、右连接)可以实现.不了解的话可以追问.

游君奚2319mysql中某个字段有多个值怎么循环查询 -
明俩萍13739363555 ______ $total=0; //预设变量,用于存放累加结果$sql="查询语句";$sql=mysql_query($sql); while($as=mysql_fetch_array($sql)){$total=$total+$as[0]; } 还有一种办法更好,假如你要累加的字段名为 price, 则:$sql="select sum(price) as total from 表名 where 条件";$sql=mysql_query($sql);$as=mysql_fetch_array($sql);$as['total']..... //这里就是你想要的累加结果,直接让 mysql 做了,php里你就省去循环取值,估计效率好些.

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024