mysql 启动报错问题集锦

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

在启动mysql的时候,可能会遇到各种各样的问题,然而这时候还找不到错误日志,只是在屏幕上显示:

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

那么我们就来看看如何解决这些问题。


在没有错误日志的情况下,很难排查错误,因此我们可以使用另一种方式来使其生成错误信息:


/usr/local/mysql/bin/mysqld 或者 /usr/local/mysql/bin/mysqld_safe


这样就显示会在数据目录下生成一个.rr的文件,这里面就包含我们遇到的错误信息。


那么错误有哪些呢,笔者归类了一下这几天实验中遇到的,与大家分享:


1、/usr/local/mysql/bin/mysqld: File './mysql-bin.index' not found (Errcode: 13)


关于这个错误,其实就是权限的问题,我们知道,mysql是不方便直接用root用户来启动的(当然啦,如

果你非要用的话也可以,但是不安全,这里不加赘述),因此我们需要创建一个叫mysql的用户,然后把

安装目录和数据目录的所属主和所属组全部改成mysql,这样就解决了上面的错误。但是注意,如果在启

动过程还是不顺利,遇到其它各种错误的话,这两个目录的权限可能又会发生更改,所以我们可能要再

次去修改权限。


2、mysqld: Table 'mysql.plugin' doesn't exist


如果日志里出现这样的错误,说明我们需要重新初始化一下数据库,如果没有初始化数据库的话,就不

能生成守护进程。


初始化数据库命令:


/usr/local/mysql/scripts/mysql_install_db --user=mysql basedir=/usr/local/mysql datadir=/data/mysql


注意,这里进行初始化的时候一定加上安装目录和数据目录的路径,因为这样的错误提示是说启动的时

候找不到内置数据库,而指定数据库目录之后再次进行初始化就可以解决这个问题了。


3、ERROR: 1136  Column count doesn't match value count at row 1


这是因为写的SQL语句里列的数目和后面的值的数目不一致,比如我们插入数据操作:insert into 表名

 (field1,field2,field3) values('a','b')这样前面的是三列,后面却只有二个值,这就会出现这个

错误。


但是这个错误与启动mysql服务貌似并不影响,如果重新安装后启动不了,出现这个错误的话,说明原有

的安装信息没有删除干净。


4、[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.

  [ERROR] /usr/local/mysql/bin/mysqld: unknown variable 'performance_schema=0'


如果遇到了这个错误,说明安装的mysql不支持,或者没有innodb引擎,但是配置文件/etc/my.cnf中是

使用innodb来工作的,这就出现了错误。


解决方法:


a、更改配置文件,将与innodb有关的配置信息删除


b、动态加载innodb引擎:


先修改配置文件使mysql可以正常启动,删除数据目录下的ibdata1,ib_datafile0,ib_datafile1文件,

启动服务之后登录到mysql中,使用命令 INSTALL PLUGIN InnoDB SONAME 'ha_innodb_plugin.so'; 这

样就可以成功加载innodb引擎了(一定要先删除数据目录的那几个文件,不然加载innodb会出错)。


5、'--skip-locking' is deprecated and will be removed in a future release. Please use '--

skip-external-locking' instead.  


遇到这个错误,我们将配置文件/etc/my.cnf中的skip-locking字段改为skip-external-locking字段即

可解决。

本文转自奇迹的少年博客51CTO博客,原文链接http://blog.51cto.com/raffaelexr/1769375如需转载请自行联系原作者

liliangchun
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5月前
|
SQL DataWorks 关系型数据库
DataWorks操作报错合集之如何处理数据同步时(mysql->hive)报:Render instance failed
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
2月前
|
NoSQL 关系型数据库 MySQL
2024Mysql And Redis基础与进阶操作系列(4-2)作者——LJS[含MySQL非空、唯一性、PRIMARY KEY、自增列/自增约束举例说明等详解步骤及常见报错问题对应的解决方法]
24MySQL非空、唯一性、PRIMARY KEY、自增列/自增约束举例说明等详解步骤及常见报错问题对应的解决方法(4-2) 学不会你来砍我!!!
|
4月前
|
关系型数据库 MySQL 数据库
ORM对mysql数据库中数据进行操作报错解决
ORM对mysql数据库中数据进行操作报错解决
107 2
|
24天前
|
关系型数据库 MySQL Linux
升级到MySQL 8.4,MySQL启动报错:io_setup() failed with EAGAIN
当MySQL 8.4启动时报错“io_setup() failed with EAGAIN”时,通常是由于系统AIO资源不足所致。通过增加AIO上下文数量、调整MySQL配置、优化系统资源或升级内核版本,可以有效解决这一问题。上述解决方案详细且实用,能够帮助管理员快速定位并处理此类问题,确保数据库系统的正常运行。
69 9
|
2月前
|
NoSQL 安全 关系型数据库
2024Mysql And Redis基础与进阶操作系列(6)作者——LJS[含MySQL 多表之一对一/多;多对多;多表联合查询等详解步骤及常见报错问题所对应的解决方法]
MySQL 多表之一对一/多;多对多;多表联合之交叉连接;内连接;左、右、外、满、连接;子查询及关键字;自连接查询等详解步骤及常见报错问题所对应的解决方法
|
2月前
|
SQL NoSQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(5)作者——LJS[含MySQL DQL基本查询:select;简单、排序、分组、聚合、分组、分页等详解步骤及常见报错问题所对应的解决方法]
MySQL DQL基本查询:select;简单、排序、分组、聚合、分组、分页、INSERT INTO SELECT / FROM查询结合精例等详解步骤及常见报错问题所对应的解决方法
|
2月前
|
SQL NoSQL 关系型数据库
|
2月前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
2月前
|
SQL 关系型数据库 MySQL
|
2月前
|
存储 SQL NoSQL