1.场景
mysql测试环境突然报错 :
2023-12-20T11:09:31.573111+08:00 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11
2023-12-20T11:09:32.573320+08:00 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11
2023-12-20T11:09:33.573561+08:00 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11
2023-12-20T11:09:34.573798+08:00 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11
2023-12-20T11:09:35.574078+08:00 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11
2023-12-20T11:09:35.574228+08:00 1 [ERROR] [MY-012592] [InnoDB] Operating system error number 11 in a file operation.
2023-12-20T11:09:35.593172+08:00 1 [ERROR] [MY-012596] [InnoDB] Error number 11 means 'Resource temporarily unavailable'
2023-12-20T11:09:35.598675+08:00 1 [ERROR] [MY-012215] [InnoDB] Cannot open datafile './ibdata1'
2023-12-20T11:09:35.603629+08:00 1 [ERROR] [MY-012959] [InnoDB] Could not open or create the system tablespace. If you tried to add new data files to the system tablespace, and it failed here, you should now edit innodb_data_file_path in my.cnf back to what it was, and remove the new ibdata files InnoDB created in this failed attempt. InnoDB only wrote those files full of zeros, but did not yet use them in any way. But be careful: do not remove old data files which contain your precious data!
2023-12-20T11:09:35.603779+08:00 1 [ERROR] [MY-012930] [InnoDB] Plugin initialization aborted with error Cannot open a file.
2023-12-20T11:09:36.078874+08:00 1 [ERROR] [MY-010334] [Server] Failed to initialize DD Storage Engine
2023-12-20T11:09:36.079727+08:00 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2023-12-20T11:09:36.081709+08:00 0 [ERROR] [MY-010119] [Server] Aborting
2023-12-20T11:09:36.087587+08:00 0 [System] [MY-010910] [Server] /opt/mysql/bin/mysqld: Shutdown complete (mysqld 8.0.27) MySQL Community Server - GPL.
2023-12-20T11:29:11.495312+08:00 0 [System] [MY-013172] [Server] Received SHUTDOWN from user <via user signal>. Shutting down mysqld (Version: 8.0.27).
2023-12-20T11:29:13.535717+08:00 0 [Warning] [MY-010909] [Server] /opt/mysql/bin/mysqld: Forcing close of thread 1308576 user: 'echannel'.
2.没整明白,直接重启,重启后数据库正常。
/etc/init.d/mysqld restart
3.日志分析
在数据库或者的时候启动数据库:initialization has started.
2023-12-20T11:07:54.125940+08:00 0 [System] [MY-010116] [Server] /opt/mysql/bin/mysqld (mysqld 8.0.27) starting as process 25786
2023-12-20T11:07:54.216600+08:00 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-12-20T11:07:55.526026+08:00 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11
2023-12-20T11:07:56.526440+08:00 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11
2023-12-20T11:07:57.526856+08:00 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11
猜想应该是属于误操作,数据库启动的,然后又启动数据库,导致这个错误。