Fout “Plugin ‘InnoDB’-registratie als STORAGE ENGINE mislukt” bij het starten van MySQL

Ik vond veel vergelijkbare vragen op StackOverflow, maar kreeg niet de exacte foutoplossing.
Mijn probleem is wanneer ik de MySQL-service start op een van de Dedicated Centos 6.5-machines, ik krijg een foutmelding:

141018 05:13:46 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
141018  5:13:47 [Warning] Can't create test file /var/lib/mysql/ip-184-168-73-83.lower-test
141018  5:13:47 [Warning] Can't create test file /var/lib/mysql/ip-184-168-73-83.lower-test
/usr/libexec/mysqld: Can't create/write to file '/tmp/ibkTWnhE' (Errcode: 28)
141018  5:13:48  InnoDB: Error: unable to create temporary file; errno: 28
141018  5:13:48 [ERROR] Plugin 'InnoDB' init function returned error.
141018  5:13:48 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
141018  5:13:48 [ERROR] Can't start server : Bind on unix socket: No space left on device
141018  5:13:48 [ERROR] Do you already have another mysqld server running on socket: /var/lib/mysql/mysql.sock ?
141018  5:13:48 [ERROR] Aborting
141018  5:13:48 [Note] /usr/libexec/mysqld: Shutdown complete
141018 05:13:48 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

Hier zijn de gratis opdrachtstatussen:
gratis -m

            total       used       free     shared    buffers     cached
Mem:          3743       3631        111          0       2705         21
-/+ buffers/cache:        905       2838
Swap:         2047          0       2047

Antwoord 1, autoriteit 100%

Ik heb dezelfde problemen, dit is mijn oplossing:

  1. Voeg meer RAM toe aan de server

  2. Verlaag de waarde van innodb-buffer-pool size in het configuratiebestand:

    sudo nano /etc/mysql/my.cnf

    innodb_buffer_pool_size = 10M
    

Na opslaan /etc/mysql/my.cnf.

Herstart mysql-service:

sudo service mysql restart
exit

Antwoord 2, autoriteit 50%

Dit is een veelvoorkomend probleem. Doe het volgende –

  1. verwijder/verplaats deze “aria_log_contro, ib_logfile0, ib_logfile1, ib_data1” bestanden van locatie “..\xampp\mysql\data” en ook van “..\xampp\mysql\backup”.
  2. stop en start apache-server en mysql van xampp-configuratiescherm

Dit zou het probleem moeten oplossen; eigenlijk werkte het voor mij.


Antwoord 3, autoriteit 28%

Het wijzigen van de waarden van innodb_buffer_pool_sizeen innodb_log_file_sizewerkte niet voor mij.

Het verplaatsen van ib_logfile0en ib_logfile1bestanden hielp ook niet.

Wat deedwas:

> service mysql stop

Bewerk my.cfgen voeg innodb_force_recovery = 1

toe

> service mysql start
> service mysql stop

Reageer op de regel innodb_force_recovery = 1.

> service mysql start

En voilá. (Ik moet er rekening mee houden dat ik geen idee heb of dit gegevensverlies met zich meebrengt of niet)


Antwoord 4, autoriteit 22%

Ik heb dit probleem als volgt opgelost:

  • Log in op de server via SSH met root-toegang.
  • Navigeer naar /var/lib/mysql.
  • Als je logbestanden ziet zoals ib_logfile0 en ib_logfile1, hernoem ze dan of verplaats ze naar een andere map.
  • Stop en start de MySQL-service door sudo service mysql stopen sudo service mysql start
  • uit te voeren

Ik hoop dat dit helpt. Bedankt


Antwoord 5, autoriteit 17%

Hoewel laat maar het antwoord hier plaatsen zodat de oplossing die mij heeft geholpen iemand kan helpen. Ik heb de volgende stappen ondernomen:

  1. Meer RAM toegevoegd aan server
  2. Verlaag de waarde van innodb-buffer-pool size
  3. Innodb_log_file_size instellen
  4. Herstart mysql

Voorbeeld van toevoeging aan my.cnf:

innodb_buffer_pool_size = 10M
innodb_log_file_size = 1000M

Antwoord 6, autoriteit 11%

Ik kwam onder het mysql-foutlogboek:-

[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

Ik ontdekte dat er twee oplossingen zijn, namelijk:-

1)Stel innodb_log_file_size in op de werkelijke grootte van de bestaande InnoDB-logbestanden.
Om te zien welke grootte van het innoDB-logboek is toegewezen, logt u in op mysql en voert u de volgende cmd in:-

SHOW GLOBAL VARIABLES LIKE 'innodb_log_file_size';

Verwacht resultaatvoorbeeld: – 5242880

Plaats daarna die waarde in My.cnf: –
vi /etc/my.cnf

innodb_log_file_size =5242880

2) Hernoem of verplaats zowel de ./Ib_logfile0 en ./Ib_logfile1-bestanden en start vervolgens de MySQL-server. Dit is normaal gesproken op / var / lib / mySQL. Na het opstarten van MySQL maakt het een nieuw Innodb-logbestand en herstel van mogelijke halfgeschreven gegevens uit het bestand van .IBD.

Het bestemde mysql-logboekvoorbeeld: –

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

Referenties:-
JUSTIN KULESZA (2011). MySQL: registratie van InnoDB als opslagengine mislukt. Beschikbaar op: 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 ontbreekt. Beschikbaar op: https://dba .stackexchange.com/questions/75688/mysql-my-cnf-innodb-log-file-size-is-missing/158325#158325

Het aantal of de grootte van InnoDB Redo-logbestanden wijzigen. Beschikbaar op: http://dev.mysql .com/doc/refman/5.7/en/innodb-data-log-reconfiguration.html


Antwoord 7

Niets werkte met herinstallaties, verwijderingen en andere (ik had geen gegevens om te bewaren, geen oplossing; meer een proces voor gegevensvernietiging, groot voorbehoud daar):

1005  mysql_install_db
1007  /usr/bin/mysqld_safe --datadir='/var/lib/mysql
1008  /usr/bin/mysqld_safe --datadir='/var/lib/mysql' (^z)
1009  bg
1010  mysql
1011  mysql_secure_installation
1012  mysql
1013  mysql -p

En altviool; daadwerkelijk bruikbare database.


Antwoord 8

voor mij was de oplossing om de configuratie te wijzigen om toe te voegen

innodb_use_native_aio = 0

in mysql-configuratie

Other episodes