记一次mysql故障排除和硬盘扩容

server/2024/12/17 6:24:28/

问题发现

某天早上发现我的博客突然不能访问了。简单看了一下可能是数据库连接出了问题。这台服务器比较节约,网站和数据库都放在一个机器上。讲道理不该出现数据库连接问题的。

解决思路

首先需要熟悉mysql各个文件保存位置

项目位置
日志保存位置/var/log/mysqld.log
数据保存位置/var/lib/mysql

通过查看日志可以发现是一个很常见的问题,硬盘满了。顺便如下是查看硬盘使用情况的命令

df -h

如下的/dev/vda1 一度达到了0%可用

[root@ftc-it-portal log]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        3.7G     0  3.7G   0% /dev
tmpfs           3.7G     0  3.7G   0% /dev/shm
tmpfs           3.7G  656K  3.7G   1% /run
tmpfs           3.7G     0  3.7G   0% /sys/fs/cgroup
/dev/vda1        59G   50G  7.0G  88% /

清理空间

删除binlog,删除了一个binlog.00003.因为这个文件很大。同时也需要删除binlog_index中的这个0003。否则也就会报错找不到文件从而无法启动mysql。当然如果是生产环境不建议删除binlog哈,因为大公司所有东西都要留档的。

然后同时我发现,mysql的 log文件也特别大。我暂时清理了一下log文件,这样硬盘至少有几个G可以启动mysql服务了。

清除报警

进一步排查,发现mysql日志中有很多的重复报警如下:

2024-12-16T03:17:40.208208Z 89 [Warning] [MY-013360] [Server] Plugin mysql_native_password reported: ''mysql_native_password' is deprecated and will be removed in a future release. Please use caching_sha2_password instead'

可能是因为这个报警,导致日志文件特别大。这是因为我跑在服务器上的一个Wordpress应用。

下面这种方式使用新模式连接mysql,这样可以从根本上解决报警。但是我用的老的NaviCat,就无法连接了。

解决方式,首先,在my.cnf中加入如下配置

default_authentication_plugin=caching_sha2_password

重启mysql后,运行如下语句

ALTER USER 'itdx'@'%' IDENTIFIED WITH caching_sha2_password BY 'Abc@1234';

所以推荐如下方式,也就是在配置文件中加入如下语句即可:

log_error_suppression_list='MY-013360

也可以在设置里加入日志过期时间

expire_logs_days=30

硬盘扩容

同时我在阿里云也进行了硬盘扩容,接下来的问题是,这个扩容的硬盘,要如何应用到系统中去呢?

事前准备,需要安装硬盘扩容工具

yum install cloud-utils-growpart yum install xfsprogs -y

首先,使用growpart命令

[root@ftc-it-portal ~]# growpart /dev/vda 1
CHANGED: partition=1 start=2048 old: size=125827039 end=125829087 new: size=419428319 end=419430367

然后,再使用resize2fs命令

[root@ftc-it-portal ~]# resize2fs /dev/vda1
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vda1 is mounted on /; on-line resizing required
old_desc_blocks = 4, new_desc_blocks = 13
The filesystem on /dev/vda1 is now 52428539 blocks long.

最终,确认结果。可以看到/dev/vda1已经是200GB了。

[root@ftc-it-portal ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        3.7G     0  3.7G   0% /dev
tmpfs           3.7G     0  3.7G   0% /dev/shm
tmpfs           3.7G  512K  3.7G   1% /run
tmpfs           3.7G     0  3.7G   0% /sys/fs/cgroup
/dev/vda1       197G   50G  140G  27% /
tmpfs           756M     0  756M   0% /run/user/0

http://www.ppmy.cn/server/150820.html

相关文章

基于Spring Boot的同城宠物照看系统的设计与实现

一、摘要 在快节奏的现代生活中,宠物已成为许多家庭不可或缺的一部分。然而,宠物照看服务的需求也随之增长。为了满足这一需求,我们设计并实现了一款同城宠物照看系统,该系统利用Java技术和MySQL数据库,为用户提供一个…

常见高危漏洞排查指引

常见高危漏洞排查指引 1. 任意文件上传 漏洞描述: 一般情况下文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。文件上传本身是web中最为常见的一种功能需求,关键是文件上传之后服务器端的…

UE材质常用节点

Desaturation 去色 饱和度控制 Panner 贴图流动 快捷键P Append 附加 合并 TexCoord UV平铺大小 快捷键U CustomRotator 旋转贴图 Power 幂 色阶 Mask 遮罩 Lerp 线性插值 快捷键L Abs 绝对值 Sin / Cos 正弦/余弦 Saturate 约束在0-1之间 Add 相加 快捷键A Subtra…

linux网络编程 | c | 多进程并发服务器实现

多进程并发服务器 基于该视频完成 11-多进程并发服务器思路分析_哔哩哔哩_bilibili 通过的是非阻塞忙轮询的方式实现的 和阻塞等待的区别就是,阻塞是真的阻塞了,而这个方式是一直在问有没有请求有没有请求 文章目录 多进程并发服务器1.核心思路&…

[图形编程] 【unity】【游戏开发】Shader基础7:着色器编程语言-HLSL、GLSL与CG的比较

在现代图形渲染中,着色器编程是核心内容之一,尤其在GPU上执行图形处理时,着色器决定了渲染效果的实现。着色器的编写通常使用高级编程语言,这些语言专门设计用于编写图形程序,虽然它们并不完全等同于像Python这样的通用高级语言,但相比汇编语言,它们提供了更高层次的抽象…

Fortify 24.2.0版本最新版 win/mac/linux

工具介绍: Fortify SCA作为一款业内主流的静态代码扫描工具,被广泛应用于白盒测试中。与其他静态代码扫描工具相比,Fortify SCA的突出优势主要在于更加广泛地支持的语言和开发平台、更全面和权威的安全规则库使扫描更加全面、更加智能化的自定…

el-table组件树形数据修改展开箭头

<style lang"scss" scoped> ::v-deep .el-table__expand-icon .el-icon-arrow-right:before {content: ">"; // 箭头样式font-size: 16px; }::v-deep .el-table__expand-icon{ // 没有展开的状态background-color: rgba(241, 242, 245, 1);color:…

MAC 头部、IPv4 头部、IPv6 头部、TCP 头部和 UDP 头部

MAC 头部 字段名称长度&#xff08;字节&#xff09;描述目标 MAC 地址6接收设备的 MAC 地址。源 MAC 地址6发送设备的 MAC 地址。以太网类型/长度2表示上层协议类型&#xff08;如 IPv4、IPv6&#xff09;或数据长度&#xff08;以太网 II 或 802.3&#xff09;。数据负载46-1…