Getting error “Plugin 'InnoDB' registration as a STORAGE ENGINE failed” when starting MySQL

前端 未结 7 1552
失恋的感觉
失恋的感觉 2021-02-01 05:54

I found many similar question on Stackoverflow but didn\'t get the exact error solution. My issue is when starting MySQL service on one of the Dedicated Centos 6.5 machine, I am

相关标签:
7条回答
  • 2021-02-01 06:48

    I was getting below mysql error log:-

    [Note] Plugin 'FEDERATED' is disabled.
    InnoDB: The InnoDB memory heap is disabled
    InnoDB: Mutexes and rw_locks use GCC atomic builtins
    InnoDB: Compressed tables use zlib 1.2.3
    InnoDB: Using Linux native AIO
    InnoDB: Initializing buffer pool, size = 128.0M
    InnoDB: mmap(137363456 bytes) failed; errno 12
    InnoDB: Completed initialization of buffer pool
    InnoDB: Fatal error: cannot allocate memory for the buffer pool
    [ERROR] Plugin 'InnoDB' init function returned error.
    [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
    [ERROR] Unknown/unsupported storage engine: InnoDB
    [ERROR] Aborting
    [Note] /usr/libexec/mysqld: Shutdown complete
    

    I found out there are two solutions which are:-

    1)Set innodb_log_file_size equal to the actual size of the existing InnoDB log files. To see what size of innoDB log allocated, login mysql and enter following cmd:-

    SHOW GLOBAL VARIABLES LIKE 'innodb_log_file_size';
    

    Expected result example:- 5242880

    After that, insert that value in my.cnf:- vi /etc/my.cnf

     innodb_log_file_size =5242880
    

    2)Rename or move both the ./ib_logfile0 and ./ib_logfile1 files, and then start the MySQL server.This normally will be located at /var/lib/mysql. After start mysql, it create new innoDB log file and restore possible half-written data from the file of .ibd.

    The expexted mysql log example:-

    InnoDB: Database physically writes the file full: wait...
    161216  9:58:54  InnoDB: Log file ./ib_logfile1 did not exist: new to be created
    InnoDB: Setting log file ./ib_logfile1 size to 5 MB
    InnoDB: Database physically writes the file full: wait...
    161216  9:58:54 InnoDB: highest supported file format is Barracuda.
    InnoDB: The log sequence number in ibdata files does not match
    InnoDB: the log sequence number in the ib_logfiles!
    161216  9:58:54  InnoDB: Database was not shut down normally!
    InnoDB: Starting crash recovery.
    InnoDB: Reading tablespace information from the .ibd files...
    InnoDB: Restoring possible half-written data pages from the doublewrite
    InnoDB: buffer...
    161216  9:58:54  InnoDB: Waiting for the background threads to start
    161216  9:58:55 InnoDB: 5.5.50 started; log sequence number 1589772
    161216  9:58:55 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
    161216  9:58:55 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
    161216  9:58:55 [Note] Server socket created on IP: '0.0.0.0'.
    161216  9:58:55 [Note] Event Scheduler: Loaded 0 events
    161216  9:58:55 [Note] /usr/libexec/mysqld: ready for connections.
    Version: '5.5.50'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MySQL Community Server (GPL) by Remi
    

    References:- JUSTIN KULESZA (2011). MySQL: Failed Registration of InnoDB as a Storage Engine. Available at: https://spin.atomicobject.com/2011/05/09/mysql-failed-registration-of-innodb-as-a-storage-engine/.

    RolandoMySQLDBA (2014). MySQL my.cnf: innodb_log_file_size is missing. Available at: https://dba.stackexchange.com/questions/75688/mysql-my-cnf-innodb-log-file-size-is-missing/158325#158325

    Changing the Number or Size of InnoDB Redo Log Files. Available at: http://dev.mysql.com/doc/refman/5.7/en/innodb-data-log-reconfiguration.html

    0 讨论(0)
提交回复
热议问题