MySQL: mysql is not running but lock exists 的解决方法

问题描述:

在使用MySQL时,可能会遇到“mysql is not running but lock exists”的错误提示。这种情况下无法启动MySQL服务。

解决方法:

  1. 查看MySQL进程

在终端中输入命令:

ps -ef | grep mysql

如果存在类似以下输出结果,则表示MySQL进程正在运行中:

mysql    8880     1  0 21:32 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/myapp.pid
mysql    9121  8880  0 21:32 ?        00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/myapp.err --pid-file=/var/lib/mysql/myapp.pid --socket=/var/lib/mysql/mysql.sock

如果没有显示任何结果,表示该服务未启动。

  1. 删除.lock文件

在MySQL守护进程未正常退出而导致MySQL持有.lock文件的情况下,可以通过删除该文件,来解决启动MySQL失败的问题:

sudo rm /var/lib/mysql/*.lock
  1. 重启MySQL服务

执行以下命令重启MySQL服务:

sudo systemctl restart mysqld

也可以尝试使用以下命令来启动MySQL服务:

sudo mysqld_safe --skip-grant-tables &
  1. 调整MySQL配置文件

如果以上方法都无法解决问题,则可以考虑调整MySQL的配置文件my.cnf:

sudo vim /etc/my.cnf

在该文件中加入以下内容:

[mysqld]
innodb_force_recovery = 1

保存后重启MySQL服务。

示例说明:

示例1:

在运行MySQL服务时,提示“mysql is not running but lock exists”的错误。经过上述步骤,发现是由于MySQL守护进程异常,导致MySQL持有了.lock文件。通过删除该文件和重启MySQL服务,成功解决了问题。

示例2:

在进行MySQL备份时,由于备份进程异常导致MySQL服务异常退出。之后尝试启动MySQL服务时,提示“mysql is not running but lock exists”的错误。通过调整MySQL的配置文件my.cnf,将innodb_force_recovery参数设置为1,成功启动了MySQL服务,并修复了数据库文件的错误。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL: mysql is not running but lock exists 的解决方法 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • 【MySQL】索引和锁

    前言 本文摘自数据库两大神器【索引和锁】 InnoDB存储引擎 索引 在之前,我对索引有以下的认知: 索引可以加快数据库的检索速度 表经常进行INSERT/UPDATE/DELETE操作就不要建立索引了,换言之:索引会降低插入、删除、修改等维护任务的速度。 索引需要占物理和数据空间。 了解过索引的最左匹配原则 知道索引的分类:聚集索引和非聚集索引 Mysql…

    MySQL 2023年4月12日
    00
  • MySQL 5.7 学习心得之安全相关特性

    MySQL 5.7 学习心得之安全相关特性 MySQL是非常流行的数据库管理系统,但是随着互联网的发展,数据库安全问题也越来越受到关注。MySQL 5.7发布了一些新的安全特性,来保护数据库的安全性。 密码管理 MySQL 5.7在密码管理方面做出了一些改进。现在MySQL强制要求用户在新建用户时,必须指定一个密码。同时还提供了密码复杂度检查功能。 示例1 …

    MySQL 2023年5月18日
    00
  • MySQL的日志基础知识及基本操作学习教程

    下面是关于“MySQL的日志基础知识及基本操作学习教程”的攻略: 什么是MySQL的日志? MySQL的日志是指在MySQL数据库运行时进行记录、维护和跟踪所产生的的事件的数据文件,包括错误日志、查询日志、二进制日志、重做日志和慢查询日志等等。在MySQL中,这些日志能够为管理员、开发人员和维护人员提供重要的信息,包括跟踪数据库的行为、分析数据库性能、排错问…

    MySQL 2023年5月18日
    00
  • 解析mysql 5.5字符集问题

    解析 MySQL 5.5 字符集问题的攻略包含以下步骤: 步骤一:确认 MySQL 5.5 字符集问题存在 在使用 MySQL 5.5 版本时,有时候会遇到字符集的问题,例如在插入中文到数据表中时,可能会出现乱码或者指定字符集无效等情况。因此,首先需要确认是否存在字符集问题。 可以通过以下命令来查看 MySQL 编码设置: show variables li…

    MySQL 2023年5月18日
    00
  • Linux Centos 启动mysql ERROR * The server quit without updating PID file (/usr/local/mysql/data/mysql.pid).

    做了一些尝试;比如kill -9 进程id  发现根本就杀不死。 查看ERROR.LOG 2015-12-07 18:50:08 29710 [ERROR] /usr/local/mysql/bin/mysqld: unknown variable ‘scripts/mysql_install_db –user=mysql’ 第一感觉;百度了下。大部分都是…

    MySQL 2023年4月13日
    00
  • MySQL备份

    备份单个数据库   MySQL数据库自带一个很好的备份命令,就是mysqldump。   基本语法:mysqldump -u 用户名 -p 数据库名 > 备份的文件名  示例 1  备份一个库 [root@localhost ~]# mysql -uroot -p123456 -S /tmp/mysql_3306.sock mysql> show…

    MySQL 2023年4月16日
    00
  • mysql 写入中文乱码

    今天从另一个系统往mysql数据库写入数据,发现中文变成了????? 检查数据库的设置 ,server对应字符集是latinl    调整mysql参数配置,配置文件目录/etc/mysql/mysql.conf.d/ 添加一行:character-set-server = utf8    然后重启mysql服务,再次检查服务器参数配置,重新写入中文已正常。…

    MySQL 2023年4月13日
    00
  • 特性介绍 | MySQL 测试框架 MTR 系列教程(一):入门篇

    作者:卢文双 资深数据库内核研发 去年年底通过微信公众号【数据库内核】设定了一个目标——2023 年要写一系列 特性介绍+内核解析 的文章(现阶段还是以 MySQL 为主)。虽然关注者很少,但本着“说到就要做到”的原则,从这篇就开始了。 序言: 以前对 MySQL 测试框架 MTR 的使用,主要集中于 SQL 正确性验证。近期由于工作需要,深入了解了 MTR…

    MySQL 2023年4月17日
    00
合作推广
合作推广
分享本页
返回顶部