升级MySQL 8.4后启动报错io_setup()失败EAGAIN,原因是什么?

摘要:问题 最近碰到一个 case,一台主机上,部署了多个实例。之前使用的是 MySQL 8.0,启动时没有任何问题。但升级到 MySQL 8.4 后,部分实例在启动时出现了以下错误。 [Warning] [MY-012
问题 最近碰到一个 case,一台主机上,部署了多个实例。之前使用的是 MySQL 8.0,启动时没有任何问题。但升级到 MySQL 8.4 后,部分实例在启动时出现了以下错误。 [Warning][MY-012582][InnoDB]io_setup()failedwithEAGAIN.Willmake5attemptsbeforegivingup. [Warning][MY-012583][InnoDB]io_setup()attempt1. [Warning][MY-012583][InnoDB]io_setup()attempt2. [Warning][MY-012583][InnoDB]io_setup()attempt3. [Warning][MY-012583][InnoDB]io_setup()attempt4. [Warning][MY-012583][InnoDB]io_setup()attempt5. [ERROR][MY-012584][InnoDB]io_setup()failedwithEAGAINafter5attempts. [ERROR][MY-012954][InnoDB]CannotinitializeAIOsub-system [ERROR][MY-012930][InnoDB]PlugininitializationabortedwitherrorGenericerror. [ERROR][MY-010334][Server]FailedtoinitializeDDStorageEngine [ERROR][MY-010020][Server]DataDictionaryinitializationfailed. [ERROR][MY-010119][Server]Aborting [System][MY-010910][Server]/usr/local/mysql/bin/mysqld:Shutdowncomplete(mysqld8.4.0)MySQLCommunityServer-GPL. [System][MY-015016][Server]MySQLServer-end. 下面我们来分析下这个报错的具体原因及解决方法。 定位过程 首先搜索下这个报错是在哪个文件产生的。 #grep"io_setup()failed"-r/usr/src/mysql-8.4.0 /usr/src/mysql-8.4.0/storage/innobase/os/os0file.cc:ib::warn(ER_IB_MSG_757)<<"io_setup()failedwithEAGAIN." /usr/src/mysql-8.4.0/storage/innobase/os/os0file.cc:<<"io_setup()failedwithEAGAINafter" 接着分析该文件中产生报错的具体函数。
阅读全文