今天是举国欢庆的日子,但是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的相关知识点;点击关注,精彩内容,有你好看~

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

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

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

    https://cloud.tencent.com/developer/article/1004820 Spark 踩坑记:数据库(Hbase+Mysql) 前言 在使用Spark Streaming ...

  2. 记一次裸迁 MySQL 经历

    记一次裸迁MySQL经历 前言:博主企业有一台企业阿里云机器,因为安装了云锁,造成服务器动不动就给我所死服务器.(就是那种 chattr +i /bin/bash ,分分钟日死狗 )趁着周末,Boos ...

  3. 关于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

    [root@www]# ./bin/mysqld_safe --user=mysql&[1] 32710[root@www]# 121003 16:40:22 mysqld_safe Logg ...

  4. 故障案例 | 慢SQL引发MySQL高可用切换排查全过程

    作者:梁行 万里数据库DBA,擅长数据库性能问题诊断.事务与锁问题的分析等,负责处理客户MySQL日常运维中的问题,对开源数据库相关技术非常感兴趣. GreatSQL社区原创内容未经授权不得随意使用, ...

  5. 今日网站突然报错,mysql的故障

    Access denied for user 'root'@'localhost' (using password: YES) 错误位置 FILE: /var/www/html/ThinkPHP/Li ...

  6. Slave_SQL_Running: No mysql同步故障解决方法

    Slave_SQL_Running: No mysql同步故障解决      今天检查数据库发现一台MySQL Slave未和主机同步,查看Slave状态:mysql> show slave s ...

  7. MySQL数据故障时备份与恢复

    1.ib_logfile0和ib_logfile1是mysql用来存储操作执行的日志文件,用于事务暂存和回滚.当复制ibdata1数据文件到新的mysql中时,如果没有拷贝这两个日志文件,则会出现启动 ...

  8. keepalive配置mysql自动故障转移

    keepalive配置mysql自动故障转移 原创 2016年02月29日 02:16:52 2640 本文先配置了一个双master环境,互为主从,然后通过Keepalive配置了一个虚拟IP,客户 ...

  9. (4.1)mysql备份还原——mysql常见故障

    (4.1)mysql备份还原——mysql常见故障 1.常见故障类型 在数据库环境中,常见故障类型: 语句失败,用户进程失败,用户错误 实例失败,介质故障,网络故障 其中最严重的故障主要是用户错误和介 ...

随机推荐

  1. Django模板语言进阶

    一.母板 1.什么情况下使用母版 当多个页面的大部分内容都一样的时候,我们可以把相同的部分提取出来,放到一个单独的母版HTML文件中 然后在母版中定义需要被替换的block 例如:母板页面 <! ...

  2. macOS 上编译 Dynamips

    Dynamips 是一个Cisco 路由器模拟软件. 安装过程: git clone git://github.com/GNS3/dynamips.git cd dynamips mkdir buil ...

  3. Java【初识篇】语言概述

    什么是计算机语言 语言:是人与人之间用于沟通的一种方式.例如:中国人与中国人用普通话沟通.而中国人要和英国人交流,就要学习英语.计算机语言(编程语言):人与计算机交流的方式.如果人要与计算机交流,那么 ...

  4. 深入理解JVM(1)——栈和局部变量操作指令

    将常量压入栈的指令 aconst_null 将null对象引用压入栈iconst_m1 将int类型常量-1压入栈iconst_0 将int类型常量0压入栈iconst_1 将int类型常量1压入栈i ...

  5. Vue+koa2开发一款全栈小程序(7.图书录入功能)

    1.图书录入功能 1.获取图书信息 1.在mydemo/src/until.js中封装工具函数post和get // 工具函数 import config from './config' // htt ...

  6. 数据库学习之MySQL进阶

    数据库进阶   一.视图                                                                            数据库视图是虚拟表或逻辑 ...

  7. 优秀的电商平台Jshop栗子

    摘录自:https://blog.csdn.net/chenjun9205/article/details/52412503 下载源代码 git clone https://git.oschina.n ...

  8. MVCC 能解决幻读吗?

    MySQL通过MVCC(解决读写并发问题)和间隙锁(解决写写并发问题)来解决幻读 MySQL InnoDB事务的隔离级别有四级,默认是“可重复读”(REPEATABLE READ). 未提交读(REA ...

  9. PHP7 学习笔记(十七)变量函数 - unset

    https://secure.php.net/manual/zh/function.unset.php unset()函数用来清除.销毁变量,不用的变量,可以用unset()将它销毁. 1.unset ...

  10. python中的GIL详解

    GIL是什么 首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念.就好比C++是一套语言(语法)标准,但是可以用不同的编译器来编译成可 ...