首页 >>  正文

mysql执行流程

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

作者:羽度非凡

几个月前写了《MySQL总是停止服务,原来是腾讯云安全防护组件的“锅”》这篇文章,在这篇文章发布后,虽然MySQL服务自动停止的频率降低了,但实际上并没有从根本上解决这个问题,MySQL服务仍然会以大约每周一次的频率自动停止,于是开始寻找其他方法。

其实最根本的方法肯定是升级服务器配置,提升服务器的带宽,但这也就意味着运营成本的增加,对于我博客这种小网站来说,还是寻找其他曲线救国的方案更合适。

看到有网友分享宝塔面板有自动检测MySQL服务状态并自动修复的功能,但我又不喜欢安装各种面板,不过面板的各项功能底层逻辑肯定是通过执行Linux命令完成了,于是就开始考虑通过Linux相关命令实现自动检测MySQL状态的功能,这里要做的有两步:

1.新建Shell脚本,脚本实现的功能是检测MySQL服务状态,如果发现当前运行的程序进程中没有MySQL,那么就自动执行启动MySQL服务的命令,我们可以在/root/目录下新建一个check_mysql.sh的脚本文件,脚本的内容:

#!/bin/bash

pgrep -x mysqld &> /dev/null

if [ $? -ne 0 ];then

/etc/init.d/mysqld start

fi

2.借助计划任务实现脚本自动化执行,主要目的是做到无人值守自动检测:

通过命令 crontab -e进入计划任务的编辑页面,输入任务命令

*/15 * * * * /root/check_mysql.sh

这条命令的意思是每隔15分钟执行一次check_mysql.sh检测脚本。

最终实现的效果是系统每15分钟执行一次check_mysql.sh脚本,如果发现当前运行的程序进程中没有MySQL,那么Shell脚本将会自动执行启动MySQL服务的命令。

从3月份到现在的6月份,至少我每天打开非凡博客的时候都能正常访问,或许在我没有访问的时间里也曾偶尔出现过MySQL服务自动停止,但至少等到我每次发现以后再动手启动了。

查看文章精彩评论,请前往什么值得买进行阅读互动

","gnid":"945649a3e7d272d87","img_data":[{"flag":2,"img":[{"desc":"","height":"548","title":"","url":"https://p0.ssl.img.360kuai.com/t015e8a894ec2788380.jpg","width":"600"},{"desc":"","height":"146","title":"","url":"https://p0.ssl.img.360kuai.com/t01ec7ca115c9a4afa0.jpg","width":"555"},{"desc":"","height":"160","title":"","url":"https://p0.ssl.img.360kuai.com/t011908cc1a615a5ca6.jpg","width":"485"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"hbase","pub_time":1686726877000,"pure":"","rawurl":"http://zm.news.so.com/752d7cb7aab7229beaf66081ea3678c8","redirect":0,"rptid":"69ad91e678d39c62","rss_ext":[],"s":"t","src":"什么值得买","tag":[{"clk":"ktechnology_1:linux","k":"linux","u":""},{"clk":"ktechnology_1:mysql","k":"mysql","u":""}],"title":"非凡闲扯淡 篇三十七:借助shell脚本,解决MySQL服务自动停止的问题

温义盼5104mysql 怎么执行带有参数的存储过程 -
曾东韦18484813947 ______ 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;

温义盼5104存储过程怎么在mysql查询里执行 -
曾东韦18484813947 ______ 可以用 命令"show procedure status"查看所有的存储过程或检索系统表"mysql.proc"来查询已有的存储过程. 例如: 用show procedure status命令查看: -- 查看所有的存储过程 show procedure status; -- 查看特定数据库存储过程 show ...

温义盼5104mysql 执行计划
曾东韦18484813947 ______ mysql5.1以后有一个叫做event的命令.当到达指定时间就会执行你预先写好的sql语句.应该适合你用. 下面是我前几天写的一个event句子正好用到,给你举个例子,需要的地方你自己修改一下 delimiter | create event `event1` on schedule at '...

温义盼5104如何以普通用户的身份运行MySQL -
曾东韦18484813947 ______ 以非特权用户运行MySQL服务器 在讨论如何启动MySQL服务器之前,让我们考虑一下应该以什么用户身份运行MySQL服务器

温义盼5104java里面怎么调用mysql的存储过程的 -
曾东韦18484813947 ______ 首先MySQL的test数据库里定义了一个student表: create table student4( id int primary key, sanme char(5) ); 插入几个数据做测试用: inset into student values(1,'mayi'); inset into student values(2,'mayi'); inset into student values(3,'mayi'); 建...

温义盼5104mysql 存储过程处理array -
曾东韦18484813947 ______ 如果你的array不需要处理,直接就可以insert into 例如:INSERTINTO db1_name (field1,field2) SELECT field1,field2 FROM db2_name 这种格式不能加values

温义盼5104mysql数据库,指定到某一时间,它就自动执行相应的操作?sql语句该怎么写? -
曾东韦18484813947 ______ mysql要实现定时执行sql语句就要用到Event 具体操作如下:先看看看event 事件是否开启 show variables like '%sche%'; 如没开启,则开启.需要数据库超级权限 set global event_scheduler =1; 创建存储过程 update_a (注:就是你要执行的...

温义盼5104php调用mysql存储过程(急,在线等) -
曾东韦18484813947 ______ 关键就是两点1)define('CLIENT_MULTI_RESULTS', 131072);2)$link = mysql_connect("127.0.0.1", "root", "",1,CLIENT_MULTI_RESULTS) or die("Could not connect: ".mysql_error()); 下面就可以正常使用了,以下是例子程序.<?...

温义盼5104如何在命令提示符窗口下运行MySQL -
曾东韦18484813947 ______ 登陆mysql 打cmd命令终端,如果已经添加了mysql的环境变量,可以直接使用命令 mysql -uroot 直接回车,之后按提示输入密码

温义盼5104mysql存储过程是什么意思?什么时候会用到,主要用来做什么? -
曾东韦18484813947 ______ 存储过程简单来说,就是为以后的使用而保存的一条或多条MySQL语句的集合.可将其视为批件,虽然它们的作用不仅限于批处理. 存储过程就是有业务逻辑和流程的集合, 可以在存储过程中创建表,更新数据, 删除等等. 你可以理解为用...

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