导致mysqld无法启动的一个错误问题及解决

 更新时间:2023年02月20日 14:04:52   作者:qiuchangyong  
这篇文章主要介绍了导致mysqld无法启动的一个错误问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

导致mysqld无法启动的一个错误

由于不小心删除了 /var/log/mysql/ 这个目录(这是mysql服务器用来保存log的地方),导致无法启动mysqld。

在终端输入 service mysql start 回车,输出:

Job for mysql.service failed because the control process exited with error code.
See "systemctl status mysql.service" and "journalctl -xe" for details.

于是在终端输入 mysqld 回车,输出:

2020-12-24T06:29:14.144840Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2020-12-24T06:29:14.146597Z 0 [Note] mysqld (mysqld 5.7.31-0ubuntu0.18.04.1) starting as process 2760 ...
2020-12-24T06:29:14.151841Z 0 [ERROR] Could not open file '/var/log/mysql/error.log' for error logging: Permission denied
2020-12-24T06:29:14.151990Z 0 [ERROR] Aborting
 
2020-12-24T06:29:14.152063Z 0 [Note] Binlog end
2020-12-24T06:29:14.152108Z 0 [Note] mysqld: Shutdown complete

从提示看,是无法创建error.log,于是创建/var/log/mysql,再执行 ls -l /var/log 发现mysql这个目录的用户权限和组权限都是root,这就是问题所在,需要将其都改为mysql(使用chmod和chown命令)。

mysql 启动报错问题

MySQL 启动时报错

[root@yyfwq2 bin]# service mysql start
Starting MySQL....The server quit without updating PID file (/app/data//mysqldb.pid).[FAILED]

检查日志

[root@yyfwq2 log]# cat error.log
2017-11-21T11:42:15.698749Z 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
2017-11-21T11:42:15.698941Z 0 [Note] /app/mysql/bin/mysqld (mysqld 5.7.18-log) starting as process 7838 ...
2017-11-21T11:42:15.710334Z 0 [Note] InnoDB: PUNCH HOLE support not available
2017-11-21T11:42:15.710380Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2017-11-21T11:42:15.710389Z 0 [Note] InnoDB: Uses event mutexes
2017-11-21T11:42:15.710397Z 0 [Note] InnoDB: GCC builtin __sync_synchronize() is used for memory barrier
2017-11-21T11:42:15.710404Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
2017-11-21T11:42:15.710412Z 0 [Note] InnoDB: Using Linux native AIO
2017-11-21T11:42:15.710979Z 0 [Note] InnoDB: Number of pools: 1
2017-11-21T11:42:15.711154Z 0 [Note] InnoDB: Using CPU crc32 instructions
2017-11-21T11:42:15.716819Z 0 [Note] InnoDB: Initializing buffer pool, total size = 10G, instances = 8, chunk size = 128M
2017-11-21T11:42:16.845646Z 0 [Note] InnoDB: Completed initialization of buffer pool
2017-11-21T11:42:16.961424Z 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
2017-11-21T11:42:16.961647Z 0 [ERROR] InnoDB: The Auto-extending innodb_system data file './ibdata1' is of a different size 768 pages (rounded down to MB) than specified in the .cnf file: initial 65536 pages, max 0 (relevant if non-zero) pages!
2017-11-21T11:42:16.961676Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2017-11-21T11:42:17.562477Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
2017-11-21T11:42:17.562498Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2017-11-21T11:42:17.562511Z 0 [ERROR] Failed to initialize plugins.
2017-11-21T11:42:17.562518Z 0 [ERROR] Aborting
 
2017-11-21T11:42:17.562536Z 0 [Note] Binlog end
2017-11-21T11:42:17.562673Z 0 [Note] Shutting down plugin 'CSV'
2017-11-21T11:42:17.563197Z 0 [Note] /app/mysql/bin/mysqld: Shutdown complete
 
2017-11-21T11:46:34.437631Z 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
2017-11-21T11:46:34.437786Z 0 [Note] /app/mysql/bin/mysqld (mysqld 5.7.18-log) starting as process 9427 ...
2017-11-21T11:46:34.446814Z 0 [Note] InnoDB: PUNCH HOLE support not available
2017-11-21T11:46:34.446875Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2017-11-21T11:46:34.446886Z 0 [Note] InnoDB: Uses event mutexes
2017-11-21T11:46:34.446894Z 0 [Note] InnoDB: GCC builtin __sync_synchronize() is used for memory barrier
2017-11-21T11:46:34.446902Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
2017-11-21T11:46:34.446910Z 0 [Note] InnoDB: Using Linux native AIO
2017-11-21T11:46:34.447429Z 0 [Note] InnoDB: Number of pools: 1
2017-11-21T11:46:34.447594Z 0 [Note] InnoDB: Using CPU crc32 instructions
2017-11-21T11:46:34.451429Z 0 [Note] InnoDB: Initializing buffer pool, total size = 10G, instances = 8, chunk size = 128M
2017-11-21T11:46:35.561606Z 0 [Note] InnoDB: Completed initialization of buffer pool
2017-11-21T11:46:35.666054Z 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
2017-11-21T11:46:35.666901Z 0 [ERROR] InnoDB: The Auto-extending innodb_system data file './ibdata1' is of a different size 768 pages (rounded down to MB) than specified in the .cnf file: initial 65536 pages, max 0 (relevant if non-zero) pages!
2017-11-21T11:46:35.666932Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2017-11-21T11:46:36.267707Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
2017-11-21T11:46:36.267729Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2017-11-21T11:46:36.267742Z 0 [ERROR] Failed to initialize plugins.
2017-11-21T11:46:36.267750Z 0 [ERROR] Aborting
 
2017-11-21T11:46:36.267768Z 0 [Note] Binlog end
2017-11-21T11:46:36.267919Z 0 [Note] Shutting down plugin 'CSV'
2017-11-21T11:46:36.268430Z 0 [Note] /app/mysql/bin/mysqld: Shutdown complete

删除:ibdata1、ib_logfile0、ib_logfile1 后启动正常

[root@yyfwq2 data]# rm -rf ibdata1 ib_logfile0 ib_logfile1
[root@yyfwq2 data]# service mysql start
Starting MySQL..............................................................................................................[  OK  ]

分析其原因:

数据在初始化是分配了ibdata1的大小。我在my.cnf中重新设置了innodb_data_file_path = ibdata1:1G:autoextend  导致启动时报错。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • centos7.2下安装mysql5.7数据库的命令详解

    centos7.2下安装mysql5.7数据库的命令详解

    这篇文章主要介绍了centos7.2下安装mysql5.7数据库,文中给出了所有的命令,按照命令执行就会安装上 ,需要的朋友可以参考下
    2019-07-07
  • 阿里云ECS centos6.8下安装配置MySql5.7的教程

    阿里云ECS centos6.8下安装配置MySql5.7的教程

    阿里云默认yum命令下的MySQL是5.17****,安装mysql5.7之前先卸载以前的版本。下面通过本文给大家介绍阿里云ECS centos6.8下安装配置MySql5.7的教程,需要的的朋友参考下吧
    2017-07-07
  • mysql手动删除BINLOG的方法

    mysql手动删除BINLOG的方法

    用于删除列于在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件
    2013-03-03
  • MySQL5.6安装步骤图文详解

    MySQL5.6安装步骤图文详解

    这篇文章主要为大家详细介绍了MySQL安装步骤配置方法图文,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • mysql show操作简单示例

    mysql show操作简单示例

    这篇文章主要介绍了mysql show操作,结合简单实例形式总结分析了mysql使用show语句显示各种常见信息相关操作技巧,需要的朋友可以参考下
    2019-04-04
  • MySQL窗口函数实现榜单排名

    MySQL窗口函数实现榜单排名

    相信大家在日常的开发中经常会碰到榜单类的活动需求,本文主要介绍了MySQL窗口函数实现榜单排名,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • mysql 体系结构和存储引擎介绍

    mysql 体系结构和存储引擎介绍

    这篇文章主要介绍了mysql 体系结构和存储引擎,通过mysql数据库常见的数据库引擎展开各个引擎之间的特性和区别。下文更多相关资料介绍感兴趣的小伙伴可以参考一下
    2022-05-05
  • MySQL SQL语句分析与查询优化详解

    MySQL SQL语句分析与查询优化详解

    这篇文章主要介绍了MySQL SQL语句分析查询优化,需要的朋友可以参考下
    2018-03-03
  • MySQL多列IN查询的实现

    MySQL多列IN查询的实现

    多列 IN 查询是一种强大的筛选工具,它允许通过多字段组合快速过滤数据,本文主要介绍了MySQL 多列 IN 查询的实现,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03
  • MySQL数据库之数据表操作

    MySQL数据库之数据表操作

    这篇文章主要介绍了MySQL数据库之数据表操作,文章基于MySQL数据库的相关资料展开详细的数据表操作的详情,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05

最新评论