【国庆】记一次mysqld_safe引发mysql进程故障

今天是举国欢庆的日志,身为奋青的我,学习和工作,首日计划安排必须是学习任务呀;但是今天心血来潮,Mariadb密码忘记了,于是巴拉巴拉的执行"mysqld_safe --skip-grant-tables &"这个神技能,打算跳过密码验证,直接登录到数据库中,更新密码;mysqld_stfe这条命令的同学应该清楚,首要条件时stop数据库,在执行mysqld_safe --skip-grant-tables &;这样才能进行更改登录数据库用户的密码;更新之后,发现一个很诡异的问题;

【悬案疑点】

这个msyql进程是存在的,但是查看mysql状态是关闭的,并且mysql3306端口也是监听的状态,这就奇怪了,我已经为了实现免密更新密码,特意干掉了mysql,为啥进程和端口仍然未停止呢?如图1~3所示

随后,修改完密码,我尝试system restart mariadb,查看mysql状态,仍然异常,此时kill -9都未能停止mysqld_safe莫名引起的神秘进程;

最后呢,tail /var/log/mariadb/mariadb.log日志,发现ERROR] mysqld: Table ‘./mysql/user‘ is marked as crashed and should be repaired;这是user表损坏,干掉mysqld进程,mysqld_safe这个癞皮狗进程就会将其重新将mysql端口和进程拉启来

 【解决方案】

当我们修改完mysql登录用户验证密码之后,如何让mysql状态恢复正常,这才是我们的最终目的

竟然知道了什么原因导致mysql数据库异常(端口和进程干不掉),那就好办了,我们先ps -ef | grep mysqld_safe看看它这个赖皮狗是否起了进程,如果起了的话,二话不说直接干

杀死之后呢,我们ps -ef | grep mariadb查看mysql进程,没有直接影响,那么我们同样也是干,这个时候,这个进程便不会启动啦

最后呢,我们直接restart重启数据库即可恢复正常,完美~

【小结】

遇到这种问题,我们可以直接reboot通过重启系统的方式来解决,但是,我们不能直接这样做,难道我们每次遇到问题都重启系统来解决吗?这样,我们永远都不能发现问题,当一个问题reboot重启解决不了,那又该如何呢?换硬件服务器?卸载数据库,重新安装?呵呵,这不太现实吧,这样会让别人直接拿刀分分钟砍死你;所以说,我们遇到问题,首先冷静,尝试自己排查问题,借助谷歌百度,抓住关键性错误信息;一触即发,我们运维人员核心竞争力 就是处理问题能力和对待问题的态度,要有自己的思路和想法,这样才能立于不败之地~

ps:本章还有待更新~后续会更新mysqld_safe的相关知识点;点击关注,精彩内容,有你好看~

............................

原文地址:https://www.cnblogs.com/bixiaoyu/p/9735459.html

时间: 2024-10-31 20:37:34

【国庆】记一次mysqld_safe引发mysql进程故障的相关文章

[转]Spark 踩坑记:数据库(Hbase+Mysql)

https://cloud.tencent.com/developer/article/1004820 Spark 踩坑记:数据库(Hbase+Mysql) 前言 在使用Spark Streaming的过程中对于计算产生结果的进行持久化时,我们往往需要操作数据库,去统计或者改变一些值. 最近一个实时消费者处理任务,在使用spark streaming进行实时的数据流处理时,我需要将计算好的数据更新到hbase和mysql中,所以本文对spark操作hbase和mysql的内容进行总结,并且对自己

解决linux 系统中Mysql 进程占用CPU 300%故障

今日接到同事的电话,说微信公共帐号中的游戏无法登陆,用户不能玩了,麻烦尽快解决. 1.登陆IDC机房查看服务器流量图,流量正常,排除故障与流量无关. 2.登陆微信公共帐号中的游戏所在服务器发现系统互载过高,mysql进程CPU使用率超过300%. 为了快速解决问题直接重启mysql服务后,再查sysql进程CPU使用率依旧高居不下.故障还没有解决,继续寻找原因. 3.登陆mysql数据库,执行show processlist;查看当前正在执行的sql语句,发现几个表出现"sending data

MySQL5.7 在线调整Innodb_Buffer_Pool_size不用重启mysql进程

在之前的版本,调整Innodb_Buffer_Pool_size大小必须重启mysql进程才可以生效,如今在MySQL5.7里,可以直接动态设置,方便了很多. 这个功能应用的场景:一.机器增加内存,DBA粗心大意忘记调大Innodb_Buffer_Pool_size了二.工作交接,新来的DBA发现前任DBA设置的Innodb_Buffer_Pool_size不合理 需要注意的地方,在调整Buffer_Pool期间,用户的请求将会阻塞,直到调整完毕,所以请勿在白天调整,在凌晨3-4点低峰期调整.

关于Mysql错误:./bin/mysqld_safe --user=mysql& [1] 32710 121003 16:40:22 mysqld_safe Logging to '/var/log/mysqld.log'. 121003 16:40:22 mysqld_s

[[email protected]]# ./bin/mysqld_safe --user=mysql&[1] 32710[[email protected]]# 121003 16:40:22 mysqld_safe Logging to '/var/log/mysqld.log'.121003 16:40:22 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql这些大多是权限的问题因为mysql数据库需要

查看/杀死mysql进程

首先以管理员身份打开cmd命令行窗口,注意是管理员身份,不然无权限访问. 查看mysql进程 1)输入命令“tasklist| findstr "mysql"”,用于查找mysql的残留进程. 杀死mysql进程2)输入命令“taskkill/f /t /im mysqld.exe”,杀死MySQL进程 就可以将mysql残留进程全部杀死了. 当发现没杀死mysql进程时,可反复多次操作,一般就会成功 原文地址:https://www.cnblogs.com/zhishifx/p/12

批量清理mysql进程

批量kill掉无用的sql语句,避免影响拖垮数据库. MariaDB [(none)]> show processlist; +--------+------+-----------------+----------+---------+------+-------+------------------+----------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +--------+------

mysql(innodb)故障

收到短信报警,是一台R710硬盘(raid5 8块盘)坏了1块,联系机房更换硬盘, 因插槽问题 换了几块新的硬盘上去后还是亮黄灯,又将原来 1块硬盘换上后,亮绿灯,过了几分钟机器宕机了..... 之后分析是主板问题,故又找了1台新的R710 将点不亮的机器上的 硬盘拔下换到新的R710上,将raid信息import后 卡在某个地方了, 发现硬盘有亮黄灯,再次更换坏的硬盘后,能进入系统了,进入系统后发现 mysql进程在,3306端口没有监听,mysql的error日志一直在输出 InnoDB: 

mysql启动故障(简写)

问题描述和思路 下午做svn钩子文档时,开发大哥跑来,说mysql启动报错,半个小时没找到解决的办法,报错内容为:StartingMySQL. ERROR! The server quit without updating PID file! 根据大哥的描述,马上想到可能是mysql高速运行下,做大量数据查询时候,卡的时候,强制杀掉mysql数据库,由于主主模式不是很熟悉,判断是两边数据写入不一样,导致起不来,马上想到单个服务器启动,进入127服务器,打开my.cnf文件,server-id注销

MHA mysql主从故障转移

MHA 一.MHA介绍 1 二.部署MHA 2 1.部署MHA Node 2 2.安装MHA Manager 3 3.配置SSH登录无密码验证 3 4.搭建主从复制环境 3 5.配置MHA 4 6.检查SSH配置 8 7.检查SSH配置 8 8.检查MHA Manager状态 8 9.开启MHA Manager监控 8 10.关闭MHA Manager监控 8 11.MHA引入VIP 8 三.自动Failover 17 四.手动Failover(MHA Manager必须没有运行) 19 五.在