linux shell 入门学习笔记17 mysql脚本开发
开发mysql监控脚本
需要了解的命令:
ss命令展示
xiao123@xiao123:~/Downloads/shscripts$ ss -tunlp
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 0.0.0.0:40660 0.0.0.0:*
udp UNCONN 0 0 127.0.0.53%lo:53 0.0.0.0:*
udp UNCONN 0 0 0.0.0.0:5353 0.0.0.0:*
udp UNCONN 0 0 0.0.0.0:631 0.0.0.0:*
udp UNCONN 0 0 [::]:5353 [::]:*
udp UNCONN 0 0 [fe80::a78d:cba6:9b80:882a]%enp0s3:546 [::]:*
udp UNCONN 0 0 [::]:35362 [::]:*
tcp LISTEN 0 128 127.0.0.1:631 0.0.0.0:*
tcp LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:*
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
tcp LISTEN 0 128 [::1]:631 [::]:*
tcp LISTEN 0 128 [::]:22 [::]:*
xiao123@xiao123:~/Downloads/shscripts$
netstat命令展示
xiao123@xiao123:~/Downloads/shscripts$ sudo netstat -tunlp
[sudo] password for xiao123:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 104162/cupsd
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 431/systemd-resolve
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3105/sshd: /usr/sbi
tcp6 0 0 ::1:631 :::* LISTEN 104162/cupsd
tcp6 0 0 :::22 :::* LISTEN 3105/sshd: /usr/sbi
udp 0 0 0.0.0.0:40660 0.0.0.0:* 627/avahi-daemon: r
udp 0 0 127.0.0.53:53 0.0.0.0:* 431/systemd-resolve
udp 0 0 0.0.0.0:5353 0.0.0.0:* 627/avahi-daemon: r
udp 0 0 0.0.0.0:631 0.0.0.0:* 104163/cups-browsed
udp6 0 0 :::5353 :::* 627/avahi-daemon: r
udp6 0 0 fe80::a78d:cba6:9b8:546 :::* 632/NetworkManager
udp6 0 0 :::35362 :::* 627/avahi-daemon: r
xiao123@xiao123:~/Downloads/shscripts$
nmap命令展示
xiao123@xiao123:~/Downloads/shscripts$ nmap 127.0.0.1 -p 22
Starting Nmap 7.80 ( https://nmap.org ) at 2023-02-27 22:42 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000058s latency).PORT STATE SERVICE
22/tcp open sshNmap done: 1 IP address (1 host up) scanned in 0.02 seconds
xiao123@xiao123:~/Downloads/shscripts$
本地检测mysql运行状态
netstat -tunlp | grep mysql | wc -l #显示为1就是端口存活
ss -tunlp | grep mysql | wc -l #显示为1就是端口存活
lsof -i tcp:3360 | wc -l #返回结果不为0则证明端口存活
远程检测mysql运行状态
apt-get install telnet nmap nc
or yum install telnet nmap nc -y
nmap 127.0.0.1 -p 3360 | grep open | wc -l # 显示为1就是端口存活
echo -e “\n” |telnet 127.0.0.1 222 2> /dev/null | grep Connected|wc -l # 显示为1就是端口存活
ps -ef | grep mysql | grep -v grep | wc -l #显示为1就是进程存活
通过编程语言连接mysql
通过访问应用程序接口,读取数据库,查看是否能拿到数据,从而得知mysql是否运行。所使用到的语言有php
和python
。
php连接mysql
1. 准备php的环境依赖sudo apt-get install php-mysql php php-mysqlndor yum remove php-mysql; yum install php php-mysqlnd
2. 开发php连接mysql的代码
xiao123@xiao123:~/Downloads/shscripts$ cat mysql_test.php
<?php
$mysql_id=mysqli_connect("localhost", "root", "chaoge888") or mysql_error();
if ($mysql_id){echo "mysql connection successful,chaoge 666~~~~~";
}else{echo mysql_error();
}
xiao123@xiao123:~/Downloads/shscripts$
python连接mysql
1. 准备python的环境依赖sudo apt-get install python3 python3-devl python3-pipyum install python3 python3-devl python3-pip
2. 通过python包管理工具安装mysql依赖pip install pymysql
3. 开发python连接mysql的代码
```python
xiao123@xiao123:~/Downloads/shscripts$ cat ./mysql_test.py
import pymysqldb = pymysql.connect(host="localhost",port=3380,user="root",password="chaoge888",db='mysql',charset='utf8'
)cursor=db.cursor()
cursor.excute("select version()")data=cursor.fetchone()print("数据库连接正确,数据库版本是%s" %data)
db.close()
xiao123@xiao123:~/Downloads/shscripts$
shell脚本监控mysql运行状态
# 方法1
if [ `netstat -tunlp | grep mysql | wc -l` = 1 ]; thenecho "mysql is running."
elseecho "restart mysql service."systemctl restart mysql
fi# 方法2
if [ `ss -tunlp | grep mysql | wc -l` = 1 ]; thenecho "mysql is running."
elseecho "restart mysql service."systemctl restart mysql
fi# 方法3
if [ `ss -tunlp | grep mysql | wc -l` != 0 ]; thenecho "mysql is running."
elseecho "restart mysql service."systemctl restart mysql
fi# 方法4
php mysql_test.php
if [ "$?" = 0 ];thenecho "mysql is running."
elseecho "restart mysql service."systemctl restart mysql
fi# 方法5
python mysql_test.py
if [ "$?" = 0 ];thenecho "mysql is running."
elseecho "restart mysql service."systemctl restart mysql
fi
相关文章:

linux shell 入门学习笔记17 mysql脚本开发
开发mysql监控脚本 需要了解的命令: ss命令展示 xiao123xiao123:~/Downloads/shscripts$ ss -tunlp Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process udp UNCONN 0 0 …...

产品新说 | 指标的异常检测怎么做,能更好配合业务变化(二)
前言:上期分享我们提到了指标异常检测实践要素中的三个方面:以面对业务变动为前提,确定业务波动是周期性还是非周期性,进而选对算法;通过确认业务的常规指标,确定异常方向进行监测(上基带 / 下基…...

华为OD机试题,用 Java 解【最短耗时】问题
最近更新的博客 华为OD机试题,用 Java 解【停车场车辆统计】问题华为OD机试题,用 Java 解【字符串变换最小字符串】问题华为OD机试题,用 Java 解【计算最大乘积】问题华为OD机试题,用 Java 解【DNA 序列】问题华为OD机试 - 组成最大数(Java) | 机试题算法思路 【2023】使…...
mysql数据库常见面试题
慢查询排查优化 排查 slow_query_log设置为on,就会记录慢查询sql;long_query_time可以设置慢查询sql的阈值时间;slow_query_log_file表示记录慢查询sql的日志路径。即我们可以通过打开记录慢查询的开关,设置慢查询的时间阈值&…...
【Android源码面试宝典】MMKV从使用到原理分析(一)
去年,我们写过一篇文章,对于android原生提供的key-value存储API SharePreference,进行了从使用到原理的深入分析,同时对其中存在的ANR问题、存取慢等问题,进行了深入的探索、总结。但是之前的文章,我们仅仅指出了问题,没有给大家提供解决方案,也就是说,SharePreferenc…...

你真的懂动态库吗?一文详解动态库的方方面
这里写目录标题创建动态库创建静态库动态库与静态库的区别动态链接与静态链接的区别动态库的加载过程dll的创建以及应用程序隐式链接到dll的过程dll的创建以及应用程序显示链接到dll的过程动态库的二进制兼容性创建动态库 1.【新建】-》【项目】-》【动态链接库】 新建的动态…...

I.MX6ULL内核开发12:使用设备树插件实现RGB灯驱动
目录 一、引言 二、设备树插件格式 三、实验说明 四、实验准备 4.1 通过内核工具编译设备树插件 五、实验效果 5.1 uboot加载 5.2 加载RGB驱动 一、引言 Linux4.4以后引入了动态设备树(Dynamic DevicesTree),这里翻译位“设备树插件…...

大家一起来找茬,新手第一次layout到底能挑出多少毛病?
有一个新手工程师在论坛上发了一篇帖子,把自己的处女PCB布线图贴出来。 如果不看其他网友的评论,你能看出多少问题呢?可以在留言区和我们互动哦~ 帖子里他还提出了自己的小见解:问一下,我觉得自动布线挺好用的啊&#…...

Java集合概述(Collection集合)
目录集合一、集合与数组二、集合类体系结构三、泛型(约定集合存储数据类型)四、Collection集合常用API五、Collection集合的遍历方式5.1 迭代器遍历5.2 增强for循环(for each):5.3 lambda表达式六、Collection集合存储自定义类型的对象七、常见数据结构集合 一、集合与数组 数…...

运动无线蓝牙耳机哪款好、运动无线蓝牙耳机推荐
作为 运动爱好者,每天早晨醒来后的第一件事就去家门口的湿地公园跑上一圈。各种运动装备都齐了,不过在耳机选择上还真的犯难,打着“运动耳机”旗号的产品也是种类繁多,那么到底什么样的无线耳机更适合运动呢?于是我花时…...

解决AAC音频编码时间戳的计算问题
1.主题音频是流式数据,并不像视频一样有P帧和B帧的概念。就像砌墙一样,咔咔往上摞就行了。一般来说,AAC编码中生成文件这一步,如果使用的是OutputStream流写入文件的话,就完全不需要计算时间。但在音视频同步或者使用A…...
Android 9.0 添加自定义开机广播
1.概述 在9.0的系统rom定制化开发中,由于系统开机广播接收受限,普通app接收不到这个广播,如果接收这个广播很多应用 感觉要好久收到这个广播, 所以需要自定义开机广播来使用自定义广播开启某些应用,实现自己的功能,接下来就需要分析下开机广播的流程,然后增加自定义广播…...
第四阶段10-添加类别,类别列表mapper层,service层,controller层
63. 添加类别–Mapper层 插入类别数据的功能此前已经完成! 64. 添加类别–Service层 在项目的根包下创建pojo.dto.CategoryAddNewDTO类: Data public class CategoryAddNewDTO implements Serializable {/*** 类别名称*/private String name;/*** 父…...
linux内核启动分析(一)
文章目录1.HEAD1.preserve_boot_args1.1 __inval_dcache_area2.el2_setup3. set_cpu_boot_mode_flag4. __create_page_tables4.1map_memory5. __cpu_setup6. __primary_switch6.1 __enable_mmu6.2 __primary_switched最近工作中经常使用飞腾E2000的开发版,也遇到一些…...

wireshark常见使用操作讲解以及几个故障解决案例分享
(1)网卡选择 对于电脑本身有多个网卡的时候,选择网卡就成为了一个困惑的地方,其实这里很简单,只要把鼠标放在对应的网卡上面就可以看到地址等信息,就容易判断出来了。 (2)过滤器 直…...

利用逻辑分析仪解析串口通讯数据
利用逻辑分析仪解析串口通讯数据🔧采用的是市面上最为广泛使用的USB逻辑分析仪: 📚资料下载: 链接: https://pan.baidu.com/s/1c9lwWDbtJxaJED-kzSbiJg 提取码: 5vnr🔨测试工具为:Logic 2.4.6,也可以使用Pu…...
新整理的前端面试题
pinia和vuex的区别(1)pinia它没有mutation,他只有state,getters,action【同步、异步】使用他来修改state数据(2)pinia他默认也是存入内存中,如果需要使用本地存储,在配置上比vuex麻烦…...

数据仓库-数仓分层
层级 全拼 职责划分 ODS(源数据层) Operational DataStore ODS层存储最原始的数据, 对数据不做任何加工处理; 源数据主要来自业务数据库和日志,这些数据是用户操作业务系统产生,所以叫操作型数据(Operational Data) 。 DWD(…...

【Linux】Linux根文件系统扩容
场景:根文件系统需要至少100GB的剩余空间,但是目前就剩余91GB。因此,我们需要对根文件系统进行扩容。# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 3.9G 0 3.9G 0% /dev tmpfs …...

RPC编程:Hessian RPC一个老的RPC框架(一)
RPC编程:Hessian RPC一个老的RPC框架一:Hessian RPC1:Hession RPC一个老的RPC框架2:老,为什么还要研究?3:Hession RPC概念二:Hessian RPC设计思想1:Hession依赖于服务器2…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...

376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...

k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...

Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...
API网关Kong的鉴权与限流:高并发场景下的核心实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中,API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关,Kong凭借其插件化架构…...
xmind转换为markdown
文章目录 解锁思维导图新姿势:将XMind转为结构化Markdown 一、认识Xmind结构二、核心转换流程详解1.解压XMind文件(ZIP处理)2.解析JSON数据结构3:递归转换树形结构4:Markdown层级生成逻辑 三、完整代码 解锁思维导图新…...