mysql+linux+无法启动服务无法启动不了_Linux实例中MySQL服务常见的无法启动或启动异常处理...

概述

本文介绍了在Linux实例中,MySQL常见的无法启动或启动异常处理方法。

详细描述

常见问题处理描述,目录如下。

提示:MySQL错误日志通常记录在/alidata/log/mysql/error.log文件下。

MySQL配置文件my.cnf权限问题导致无法启动,错误提示“World-writable config file '/etc/my.cnf' is ignored”

问题描述

Linux实例的MySQL无法启动,报如下错误:

895e6af45e9f4facc1724dac47f07525.png

问题分析

查看MySQL错误日志发现如下错误(提示 MySQL 库的 host 表无法打开)。

dd682a643c84913c9915f39f32bce02a.png

查看/etc/my.cnf配置文件。

3bc95166589aa788a4f16cc3f5eda7ca.png

到MySQL数据库所在目录查看表是否存在。

9a6cfbe9fdb2f22e0ec056d59fb66c8f.png

发现MySQL库的host表是存在的,那为什么会提示不存在呢?

问题应该出在/etc/my.cnf文件上,从第一个截图也可以看到警告信息(/etc/my.cnf被忽视)

查看文件权限。

cad28aca70e12a443bdfdbb017b169e8.png

原来文件权限被设置成777,因安全问题导致被MySQL忽视,所以去查询默认的数据库存放路径,没有MySQL库的host表导致启动失败。

8a56faba71421ea12215496a020f3a8d.png

解决办法

将/etc/my.cnf权限修改成644,然后启动MySQL即可。

c75f31ff2379f190f757dffdedee0768.png

Binlog 丢失导致无法启动,错误日志: File './mysql-bin.000001' not found

问题描述

清理磁盘空间时删除了全部binlog日志,导致MySQL无法启动。

9d9b5cea5481d339452bbcfd0a4ad47a.png

MySQL的errorlog里面可以看到错误信息。

a79324d3e407f9296c26bed90edf71af.png

解决办法

有以下两种解决方法,步骤如下。

编辑/etc/my.cnf,找到log-bin=mysql-bin,在前面加#将其注释暂时关闭binlog,保存修改后启动MySQL服务。

提示:my.cnf配置文件路径以实际调用路径为准

d2253ee07c5d224b120c19634d7f508a.png

通过清理Binlog索引文件解决,清理命令如下,完清理后启动MySQL服务。

echo " " > mysql-bin.index

注:也可以通过vim编辑进行清理。

Binlog无法读取导致无法启动,错误日志:Failed to open log (file './mysql-bin.000001', errno 13)

问题描述

MySQL 无法启动报错“Starting MySQL…The server quit without updating PID file [FAILED]a/server/mysql/data/test.pid).”。并且查看MySQL的错误日志会提示“110711 00:00:00 [ERROR] Failed to open log (file './mysql-bin.000001', errno 13)”

问题原因

Binlog日志无法去读,一般由于磁盘空间满,或者权限不正确导致。

解决办法

执行如下命令查询磁盘空间。

df -h

查看磁盘空间没有满,则需要ls命令检查文件权限。

执行如下命令,修改文件权限。

chmod 660 mysql-bin.000001chown mysql.mysql mysql-bin.000001

修改完成,确认正常启动MySQL。

不能创建PID导致无法启动,错误日志“Can't start server: can't create PID file: No such file or directory”

问题描述

MySQL 启动报错信息如下。

Starting mysqld (via systemctl):  Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details、 [FAILED]

问题原因

MySQL服务在启动的时候,不能创建PID文件。

解决方法

使用systemctl status mysqld.service和journalctl -xe查看服务启动失败的原因。

如果mysqld目录终端看一下是否存在,如果不存在,执行如下命令,手动创建。

mkdir -p /var/run/mysqld/

再次尝试启动MySQL服务,报错如下。

Starting mysqld (via systemctl):  Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details. [FAILED]

查看MySQL的告警日志类似如下。

2016-01-20T10:28:37.183387Z 0 [ERROR] /usr/sbin/mysqld: Can’t create/write to file ‘/var/run/mysqld/mysqld.pid’ (Errcode: 13 - Permission denied)2016-01-20T10:28:37.183431Z 0 [ERROR] Can’t start server: can’t create PID file: Permission denied160120 18:28:37 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended160120 18:32:06 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

由于权限不正确,/var/run/mysqld/的属主和属组还是root,MySQL并不能在其中创建文件后修改该目录的属主和属组。

执行如下命令,修改mysqld目录属性。

chown mysql.mysql /var/run/mysqld/

执行如下命令,重启mysqld。

/etc/init.d/mysqld

不能创建临时文件导致无法启动,错误日志“mysqld: Can't create/write to file '/tmp/ibfguTtC' (Errcode: 13)”

问题描述

MySQL启动失败,错误日志“mysqld: Can't create/write to file '/tmp/ibfguTtC' (Errcode: 13)”。

解决办法

使用命令ll -d /tmp命令检查目录权限。

使用chmod 1777 /tmp设置为正确权限。

重启MySQL。

MySQL 服务无法识别导致无法启动,错误提示:mysqld: unrecognized service

问题描述

执行MySQL启动命令service mysqld start时,提示“mysqld: unrecognized service(未识别的服务)”。

问题原因

因为service命令是通过/etc/init.d启动服务目录来调用的,所以我们需要看一下/etc/init.d是否存在mysqld这个服务,使用find /etc/init.d/ -name mysqld命令来查找,发现没有mysqld这个文件了。

解决办法

需要将这个文件复制到/etc/init.d/目录下,改名为mysqld,并且赋予这个文件可执行权限。

最后通过命令chkconfig —add mysqld添加开机自动启动服务。

使用service mysqld start启动成功。

MySQL配置了过大的内存导致无法启动,错误提示“InnoDB: Cannot allocate memory for the buffer pool”

问题描述

MySQL启动时报错,查看错误日志有“[ERROR] InnoDB: Cannot allocate memory for the buffer pool(不能从缓存池中分配给innodb引擎需要的内存)”。

解决办法

需要调整MySQL配置文件my.cnf中的innodb_buffer_pool_size和key_buffer_size的大小设置,适当的调大内存分配,一般调整为系统内存的一半。

先使用free -m查看下系统内存大小,查看是1G内存。

通过vi /etc/my.cnf,调整innodb_buffer_pool_size和key_buffer_size各为500M。

注意:my.cnf以实际配置文件路径为准。

重启MySQL服务使其生效。】

MySQL启动参数过多导致无法启动,错误提示“Too many arguments (first extra is 'start')”

问题描述

Linux实例系统安装MySQL,启动的方式有多种,如果输入mysqld start —user=mysql 启动后,出现报错:Too many arguments (first extra is 'start')。

1e8c67ac9c69c866b1aa9d58a9a43e82.png

问题原因

这是因为启动MySQL的时候参数过多导致。

解决办法

通过直接输入/路径/mysqld —user=mysql的方式启动,如下所示。

2d858324fae42bebcbda0364b4dcebd9.png

MySQL目录权限问题导致无法启动,错误提示“File './mysql-bin.index' not found (Errcode:13 - Permission denied)”

问题描述

MySQL启动报错,错误日志如下图所示。

e14f87736212e3af009832bce74d4a12.png

问题原因

提示的异常为文件属性权限异常导致。

解决方法

查看MySQL服务下的data目录,确认mysql-bin.index的权限是否正常。

正常情况下data目录下文件的属主和属组都应该是mysql,如果不是请修改正确的文件属性权限,并重启MySQL。

提示:如果对MySQL服务配置文件的属性不清楚,可以通过对比正常的MySQL主机对比了解。

MySQL未初始化导致无法启动,错误提示“can't open the mysql.plugin table”

问题描述

MySQL服务启动时错误提示如下。

ERROR! MySQL manager or server PID file could not be found!

Starting MySQL. ERROR! Manager of pid-file quit without updating file.

问题原因

查看错误日志提示“can't open the mysql.plugin table ,please run mysql_upgrade to create it”。

176ba27decdeadfc32f8428e96f17589.png

解决办法

执行如下命令,指定datadir与basedir进行初始化启动。

/alidata/server/mysql-5.1.73/scripts/mysql_install_db —user=mysql —datadir=/alidata/server/mysql/data —basedir=/alidata/server/mysql-5.1.73/

注意:以现场实际MySQL安装路径为准。

MySQL启动成功但未监听端口

问题描述

MySQL启动成功,使用ps -ef |grep mysql可以看到进程,也可以在服务器登录,但是使用netstat -antp| grep 3306命令可以看到没有监听端口。

问题原因

配置文件中使用了skip-networking选项功能,该选项的作用是不监听端口,同主机的用户可以通过sockets进行链接。外部主机由于没有监听端口,将无法连接。

5557519bbb8d0f67497f861f98efd1ea.png

解决方法

查看MySQL配置文件,确认端口当前MySQL端口号。

通过vim编辑MySQL配置文件将skip-networking选项注释掉或删除,重启MySQL即可看到端口监听了。

MySQL服务ibdata1权限问题导致无法启动,错误日志“InnoDB Operating system error number 13 in a file operation”

问题描述

mysql启动提示update pid失败提示“Starting MySQL. ERROR! Manager of pid-file quit without updating file.”。同时错误日志中记录“InnoDB Operating system error number 13 in a file operation”,如下图所示。

9f3d79d908e3e556ea64c006da0b34a4.png

问题原因

操作系统访问文件/usr/local/mysql/var/idata1无权限导致。

解决办法

查看权限,确认MySQL服务没有访问权限。系统显示类似如下。

0e2aee58a9b7284a96e515fb731f9e9c.png

调整为MySQL服务可以访问的权限,比如777,或者是调整属帐号为mysql,完成后正常重启动MySQL。

磁盘空间满导致MySQL无法启动

问题描述

启动MySQL报错提示为“ERROR! MySQL manager or server PID file could not be found! Starting MySQL. ERROR! Manager of pid-file quit without updating file.”。并且查看下MySQL错误日志提示如下图所示。

7481a513c387eaeec5427ee12e509d40.png

问题原因

MySQL日志文件占用过大磁盘空间,磁盘空间不足导致启动报错。

解决办法

执行如下命令,查看当前磁盘使用情况。

df -h

系统显示类似如下。

b8a15c23e7f7b900a8d77b2f8d79604d.png

执行如下命令,查看当前所有磁盘空间中大于100M的文件。

find / -size +100M

系统显示类似如下。

3fc957acdf9be15aad25f241cfbccaea.png

确认MySQL日志占用过大磁盘空间,且该日志文件无特殊需求时,直接删除即可。

进程残留导致MySQL无法启动

问题描述

MySQL启动失败,错误提示“Starting MySQL. ERROR! Manager of pid-file quit without updating file.”  。

问题原因

使用ps -A | grep mysqld命令 ,发现mysqld和mysqld_safe进程残留,进程ID分别是994和1221。

提示:进程ID在不同服务器环境中可能不同,请根据实际情况为准。

解决办法

通过kill命令,结束两个进程,重启MySQL,并确认成功启动。

052d3af9c14b9d8884707d5662e0124d.png

MySQL服务自动停止

问题描述

服务器上安装的MySQL,会出现自动停止的情况。

问题原因

出现这种现象,通常是服务器的内存不足导致的。

解决办法

执行如下命令,查看服务器的系统日志/var/log/messages文件,分析服务器日志来分析。

tail /var/log/messages

系统显示类似如下。

0c88dd3a68af3520db9510fff2841aad.png

注:看下在MySQL自动停止的时间段内,有什么异常的日志信息,如果日志有提示“Out of memory”就可以判定,是服务器的内存使用不足,导致系统自动杀死的MySQL的进程。

最后可以通过升级服务器的内存可以解决。

适用于

云服务器 ECS

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/528566.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python3缺少pip_Ubuntu中找不到pip3命令的解决方法

Ubuntu中找不到pip3命令的解决方法Ubuntu 有 python2 和 python3。今天使用 Ubuntu 中的 python3 时,想要安装第三方库却发现 pip 指向的是 python2 。因为记得 Ubuntu 系统默认将 python3 的 pip 命令改成了 pip3,于是执行 pip3 -V ,报命令不…

linux mysql revoke_Linux环境下MySQL基础命令(4)----数据库的用户授权

MySQL数据库的root用户拥有对所有库,表的全部权限,频繁的使用root用户会给数据库带来很大的风险,因此应建立一些低权限用户,只负责一部分库、表的管理维护操作,甚至可以对增、删、改、查各个操作进一步细化限制&#x…

java gc机制新区域旧屋_Java 内存回收机制——GC机制-Go语言中文社区

一、Java GC 概念说明Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不…

java反射 虚拟机优化_面试官问我:Java反射是什么?我回答竟然不上来......

每天凌晨00点00分,第一时间与你相约每日英文We all have moments of desperation. But if we can face them head on, that’s when we find out just how strong we really are.我们都有绝望的时候,只有在勇敢面对时,我们才知道我们有多坚强。每日掏心话…

c java 开发效率高_Java 的开发效率究竟比 C++ 高在哪里?

如果选择C,那C 的难度与JAVA 比,那应该不在一个层次。因为 C 作者及委员会想给你带来足够的抽象能力,让你可以抽象这个世界;给你足够的自由与控制硬件的能力,及零开销的高性能。简单点说,C程序员如同神一般…

java矩阵类_151-矩阵类

[java]代码库import java.util.Scanner;import java.util.Arrays;public class Main {public static void main(String[] args) {Scanner scan new Scanner(System.in);int r scan.nextInt();int c scan.nextInt();System.out.println("row:"r" column:"…

刻画小狗状态java_JAVA面向接口编程

JAVA面向接口编程小狗在不同环境条件下可能呈现不同的状态,小狗通过调用 cry()方法体现自己的当前的状 态。要求用接口封装小狗的状态。具体要求如下。• 编写一个接口 DogState,该接口有一个名字为 void showState()的方法。• 编写 Dog 类,…

php 图片合成,PHP中多张图片合成一张图片例子

今天分享一段PHP中多张图片合成一张图片的代码实现,我们可以在图片合成,水印,九宫格等需求下使用到类似这样的图片合成效果,下面一起来看看例子吧。今天分享一段PHP中多张图片合成一张图片的代码实现,我们可以在图片合成&#xff…

php的cms是什么意思,phpcms是什么

phpcms是一款具备文章、下载、图片、分类信息、影视、商城、采集、财务等众多功能的强大、易用、可扩展的优秀网站管理软件;该软件采用模块化开发,支持多种分类方式,使其可方便实现个性化网站的设计、开发与维护。phpcms是一款具备文章、下载…

边缘检测滤波matlab,卷积滤波器与边缘检测

频率:对于声音,频率实际上是指声波振荡的速度高低频率高频图像是强度变化很大的图像。并且亮度级别从一个像素到下一个像素快速变化。低频图像可以是亮度相对均匀或变化非常慢的图像。这是一个例子中最容易看到的。大多数图像都有高频和低频成分。在上图…

php 读取 stl 文件,科学网—[转载]【源码】读取ASCII STL文件的STLReader - 刘春静的博文...

读取包含顶点和面的ASCII STL文件,并将其构造为矩阵“顶点”、“颜色”和“面”。之后,使用各小模块在Matlab上建立模型。Read ASCII STL file which contains vertexes and faces and structure it to matrixes "vertexes", "colors&quo…

dsm php,docker dsm是什么?

docker dsm是什么?docker dsm是:从DSM6.0开始如果装了docker的话可以看到下面的图:上图可以看到创建了一个新的DSM,名字为DDSM1,经试验功能和正式DSM一模一样。同时白裙一样可以QuickConnect。然后用Putty登录上去&…

php 5.6 文档,文件存储 | 进阶系列 | Laravel 5.6 中文文档

文件存储由 学院君 创建于3年前, 最后更新于 1年前版本号 #231608 views3 likes0 collects简介Laravel 基于 Frank de Jonge 开发的 PHP 包 Flysystem 提供了强大的文件系统抽象层。Laravel 集成 Flysystem 以便使用不同驱动简化对文件系统的操作,这些驱动包括本地文…

阐述oracle的体系结构,Oracle数据库逻辑体系结构详解

以前对Oracle数据库的了解大多数是集中在mysql,最近工作里面一直使用的是Oracle,虽然说在互联网行业mysql大行其道,但是一些传统行业或者是金融领域还是更加倾向于使用oracle,sqlserver这种大型数据库。为此还是有必要深入了解以下…

linux解锁文件.user.ini,Linux下解决网页服务器权限和.user.ini无法删除的问题

解决网页服务器权限问题在linux环境下搭建Nginx/apache网页服务器,在尝试访问页面时都会遇到这个问题,提示没有写入权限,或者必须访问网页服务器权限。这源自于linux对于权限的限制比较严格。所以网上无数的解决方法,无外乎一个提…

linux内核 lts长期演进,Linux Kernel 4.19 和 5.4 生命周期延长至 6 年

近日,Linux 内核开发及维护者 Greg Kroah-Hartman 宣布将 Linux 内核 4.19 和 5.4 版本的生命周期终止(EOL)支持从两年延长到六年,分别延长至 2024 和 2025 年。在这期间,它们能够继续向后移植 bug 并获得一些重要的安全修复程序。Linux 内核…

linux如何运行qt源码,Linux/Ubuntu下编译Qt4.8.2源码

本人所用的系统为Ubuntu 14,所下载的QT源码版本为4.8.2。以下是编译QT源码的基本步骤:2.解压代码输入指令: tar zxvf qt-everywhere-opensource-src-4.8.2.tar.gz,解压出QT源代码。3.执行./config生成makef…

linux启动过程中内核拷贝,轻松识破linux内核启动过程中的“”套路“”

内核启动流程相关的内容让很多热爱linux的小伙伴既爱又恨,因为这是了解linux系统基本构造的良好过程同时由于其本身复杂且底层,脑子中的脉络不是很清晰,本文就总结了一些优秀博文,以自己的理解来解构一下。本文的环境是CentOS 6.8…

linux wifi ip,Linux环境下使用WIFI模块:使用DHCP工具动态获得IP地址

使用DHCP工具动态获得IP地址实验版本及下载地址DHCP:dhcp-4.4.1.tar.gz链接: [https://www.isc.org/downloads/]编译安装DHCP配置编译选项解压完成后进入DHCP根文件目录,输入配置指令./configure --hostarm-linux ac_cv_file__dev_randomyes --with-rand…

linux创建a1的硬链接a2,Linux命令-重定向和软硬链接

echo功能说明:显示文字. 语 法:echo [-ne][字符串] 或 echo [–help][–version]参数:   -n 不要在最后自动换行重定向>是定向输出到文件,如果文件不存在,就创建文件;如果文件存在,就将其…