记一次帮网友解决非法 KILL MySQL服务引起的故障

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

深圳—游子 9:55:26


老乡 请教你个事

深圳—游子 9:55:29


mysql.sock 丢失,mysql启不来,请问大家是怎么解决的?

Bell 10:04:41


这个文件不是动态生成的么

Bell 10:04:53


删除了,启动服务时会自动产生的

深圳—游子 10:12:02


现在启动不了

深圳—游子 10:12:15


试了各种方法启不来


一网友找我,说是使用MySQL提示如下错误:

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

首先想的是看下服务正常不:

netstat -tunlp|grep 3306

说是没有服务进程

说你启动服务看看

/etc/init.d/mysql start 

提示如下:

Starting MySQL... ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid)

  按照以往的正常思路是,首先看看/var/lib/mysql目录的属主属组,权限,查看一切正常。又看了下磁盘空间,innode也完全正常。

Bell 10:17:54


在这故障之前你做了什么都

深圳—游子 10:18:16


做了权限设置

Bell 10:18:27


具体的发过来我看下


Bell 10:18:35

做完后重启了吗

深圳—游子 10:20:55
delete from mysql.user where password='';   
update user set Host='IP' where user='root' and Host='%';  select User,Host,Password from mysql.user;  service mysql restart
Bell 10:21:53
做了权限设置后,不用重启服务吧

这时就想到肯定是KILL MySQL服务了,于是要来了日志,如下:


2016-12-01 15:13:01 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp
 server option (see documentation for more details).
2016-12-01 15:13:01 0 [Note] /usr/sbin/mysqld (mysqld 5.6.28) starting as process 19651 ...
2016-12-01 15:13:01 19651 [Note] InnoDB: Using atomics to ref count buffer pool pages
2016-12-01 15:13:01 19651 [Note] InnoDB: The InnoDB memory heap is disabled
2016-12-01 15:13:01 19651 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2016-12-01 15:13:01 19651 [Note] InnoDB: Memory barrier is not used
2016-12-01 15:13:01 19651 [Note] InnoDB: Compressed tables use zlib 1.2.3
2016-12-01 15:13:01 19651 [Note] InnoDB: Using Linux native AIO
2016-12-01 15:13:01 19651 [Note] InnoDB: Not using CPU crc32 instructions
2016-12-01 15:13:01 19651 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2016-12-01 15:13:01 19651 [Note] InnoDB: Completed initialization of buffer pool
2016-12-01 15:13:01 19651 [Note] InnoDB: Highest supported file format is Barracuda.
2016-12-01 15:13:01 19651 [Note] InnoDB: 128 rollback segment(s) are active.
2016-12-01 15:13:01 19651 [Note] InnoDB: Waiting for purge to start
2016-12-01 15:13:02 19651 [Note] InnoDB: 5.6.28 started; log sequence number 180311887
2016-12-01 15:13:02 19651 [ERROR] /usr/sbin/mysqld: unknown variable 'sql_modcheduler=ONi_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
'
2016-12-01 15:13:02 19651 [ERROR] Aborting

  看完日志,再次沟通得知,果然是KILL MySQL服务了,而且不至一次。并且所有的数据库服务器都这样操作过,冒冷汗啊!!!我说还做什么了,他说还改了配置文件,加了一条EVENT ,没管它,索性做了如下操作:

mv my.cnf  my.cnf.ori
/etc/init.d/mysql start

哈哈,久违的启动成功提示出来了终于。之后让他登录上去看下数据对不对,看了下没有问题。

总结:

  最后经过和他的沟通,同样的环境,同样的数据库版本,同样的配置,只有这一台启动不起来。经过分析判断得出,此次故障的原因为:kill MySQL服务进程,非法关闭服务导致本次故障。根据老司机经验,随便kill数据库服务进程,特别是kill -9,是会导致各种各样的数据库故障的!大家引以为戒吧!!!



linuxzkq 51CTO博客,原文链接:http://blog.51cto.com/linuxzkq/1878839

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
15天前
|
关系型数据库 MySQL Apache
mysql5.7 本地计算机上的mysql 服务启动后停止 的问题解决
mysql5.7 本地计算机上的mysql 服务启动后停止 的问题解决
11 0
|
23天前
|
存储 Java 关系型数据库
社区医院管理服务系统【GUI/Swing+MySQL】(Java课设)
社区医院管理服务系统【GUI/Swing+MySQL】(Java课设)
25 1
|
2月前
|
监控 安全 关系型数据库
在规划阿里云RDS跨区迁移资源和服务可用性
在规划阿里云RDS跨区迁移资源和服务可用性
260 4
|
3月前
|
关系型数据库 MySQL 网络安全
主机无法访问远程mysql服务
主机无法访问远程mysql服务
48 0
|
4月前
|
SQL 关系型数据库 MySQL
小白带你学习linux的mysql服务(主从mysql服务和读写分离三十一)
小白带你学习linux的mysql服务(主从mysql服务和读写分离三十一)
68 0
|
4月前
|
关系型数据库 MySQL
cmd中输入net start mysql 提示:服务名无效或者MySQL正在启动 MySQL无法启动
cmd中输入net start mysql 提示:服务名无效或者MySQL正在启动 MySQL无法启动
|
1月前
|
弹性计算 关系型数据库 MySQL
阿里云ECS使用docker搭建mysql服务
阿里云ECS使用docker搭建mysql服务
152 1
|
30天前
|
关系型数据库 MySQL 数据库
使用Docker搭建MySQL数据库服务
本文介绍了如何使用Docker搭建MySQL数据库服务。首先,通过`docker pull mysql:5.7`命令拉取MySQL 5.7镜像,然后运行`docker run`命令创建并启动容器。接着,使用`docker exec`进入容器并创建MySQL用户及授权。最后,通过MySQL客户端如Navicat测试连接,验证安装成功。Docker简化了MySQL的部署和管理,确保环境一致性。
37 0
|
1月前
|
NoSQL 关系型数据库 MySQL
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
209 0
|
2月前
|
存储 关系型数据库 数据库
在进行RDS(Amazon Relational Database Service,亚马逊关系数据库服务)迁移时,兼容性审查
在进行RDS(Amazon Relational Database Service,亚马逊关系数据库服务)迁移时,兼容性审查
21 1