InnoDB: tentative d'ouvrir un tablespace déjà ouvert

je travaille sur un problème depuis quelques jours maintenant. Notre page mediawiki locale qui se trouve sur notre compte box, s'est détruite et nous avons travaillé pour l'obtenir en ligne. Utilisant le Panneau de contrôle XAMPP v3.2.1, les erreurs étant nombreuses, nous avons décidé de mettre à jour XAMPP (v3.2.2) et déplacer les fichiers 'htdocs' et 'mysql/data' dans la nouvelle base de données.

Première erreur:

    9:50:21 AM  [mysql]     Attempting to start MySQL app...
    9:50:22 AM  [mysql]     Status change detected: running
    9:50:22 AM  [mysql]     Status change detected: stopped
    9:50:22 AM  [mysql]     Error: MySQL shutdown unexpectedly.
    9:50:22 AM  [mysql]     This may be due to a blocked port, missing dependencies, 
    9:50:22 AM  [mysql]     improper privileges, a crash, or a shutdown by another method.
    9:50:22 AM  [mysql]     Press the Logs button to view error logs and check
    9:50:22 AM  [mysql]     the Windows Event Viewer for more clues
    9:50:22 AM  [mysql]     If you need more help, copy and post this
    9:50:22 AM  [mysql]     entire log window on the forums

comme il est dit, je suis ensuite allé aux journaux et j'ai trouvé ceci:

    2015-11-20 09:50:22 11f8 InnoDB: Warning: Using      innodb_additional_mem_pool_size is DEPRECATED. This option may be removed in future releases, together with the option innodb_use_sys_malloc and with the InnoDB's internal memory allocator.
    2015-11-20  9:50:22 4600 [Note] InnoDB: Using mutexes to ref count buffer pool pages
    2015-11-20  9:50:22 4600 [Note] InnoDB: The InnoDB memory heap is disabled
    2015-11-20  9:50:22 4600 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
    2015-11-20  9:50:22 4600 [Note] InnoDB: Memory barrier is not used
    2015-11-20  9:50:22 4600 [Note] InnoDB: Compressed tables use zlib 1.2.3
    2015-11-20  9:50:22 4600 [Note] InnoDB: Not using CPU crc32 instructions
    2015-11-20  9:50:22 4600 [Note] InnoDB: Initializing buffer pool, size = 16.0M
    2015-11-20  9:50:22 4600 [Note] InnoDB: Completed initialization of buffer pool
    2015-11-20  9:50:22 4600 [Note] InnoDB: Highest supported file format is Barracuda.
    2015-11-20  9:50:22 4600 [Note] InnoDB: The log sequence numbers 1665234 and 1665234 in ibdata files do not match the log sequence number 50125498 in the ib_logfiles!
    2015-11-20  9:50:22 4600 [Note] InnoDB: Database was not shutdown normally!
    2015-11-20  9:50:22 4600 [Note] InnoDB: Starting crash recovery.
    2015-11-20  9:50:22 4600 [Note] InnoDB: Reading tablespace information from the .ibd files...
    2015-11-20  9:50:22 4600 [ERROR] InnoDB: Attempted to open a previously opened tablespace. Previous tablespace phpmyadmin/pma__tracking uses space ID: 21 at filepath: .phpmyadminpma__tracking.ibd. Cannot open tablespace wiki/archive which uses space ID: 21 at filepath: .wikiarchive.ibd
    InnoDB: Error: could not open single-table tablespace file .wikiarchive.ibd
    InnoDB: We do not continue the crash recovery, because the table may become
    InnoDB: corrupt if we cannot apply the log records in the InnoDB log to it.
    InnoDB: To fix the problem and start mysqld:
    InnoDB: 1) If there is a permission problem in the file and mysqld cannot
    InnoDB: open the file, you should modify the permissions.
    InnoDB: 2) If the table is not needed, or you can restore it from a backup,
    InnoDB: then you can remove the .ibd file, and InnoDB will do a normal
    InnoDB: crash recovery and ignore that table.
    InnoDB: 3) If the file system or the disk is broken, and you cannot remove
    InnoDB: the .ibd file, you can set innodb_force_recovery > 0 in my.cnf
    InnoDB: and force InnoDB to continue crash recovery here.

maintenant cela semble comme une erreur standard que j'ai vu avec beaucoup de différentes suggestions à travers le web sur la façon de le corriger. Je vais aller sur brièvement.

La première chose que j'ai essayé était de suivre les suggestions dans le journal.

  1. aucun problème de permission
  2. il n'est pas clair si j'ai besoin de la table ou pas, ou si je dois me débarrasser de phpMyAdmin/pma__tracking ou archive.mici. Quand je me suis débarrassé des archives.ibd, l'erreur vient de passer à une autre .mici fichier.
  3. 'innodb_force_recovery=1' a été ajouté à my.le cnf et cela causent un tas d'erreurs.

la prochaine chose que j'ai remarqué est que lorsque nous avons construit la nouvelle base de données, j'ai eu cette erreur dans mon phpMyAdmin (localhost / phpMyAdmin): phpMyAdmin error

Je ne suis pas sûr que cela cause tous mes problèmes ou pas. J'ai découvert que les gens disaient d'échanger un mot de passe à =". Cette erreur peut se produire parce que je suis dans les vieux dossiers de données dans un nouvelle base de données. Je ne suis pas sûr.

la première suggestion sur le web était de supprimer les fichiers suivants de

mysqldata:
    innodb_index_stats.frm
    innodb_index_stats.ibd 
    innodb_table_stats.frm 
    innodb_table_stats.ibd 
    slave_master_info.ibd 
    slave_relay_log_info.frm 
    slave_relay_log_info.ibd 
    slave_worker_info.frm 
    slave_worker_info.ibd

le 2:

j'ai essayé de supprimer 'ibdata1'

Aucun d'entre eux ont travaillé.

32
demandé sur Cœur 2015-11-20 18:05:12

10 réponses

j'ai eu le même problème. J'ai essayé toutes les solutions proposées par d'autres, et malheureusement rien n'a fonctionné.

après avoir passé des heures à chercher la solution dans Google j'ai finalement trouvé ceci

  1. ouvrez Mon.ini (mon.cnf sur les systèmes linux et Mac)
  2. Look pour les [mysqld]
  3. Juste en dessous de [mysqld] insérer innodb_force_recovery = 1
  4. Start MySQL Service
  5. Stop MySQL Service
  6. Supprimer la ligne de mon.ini (innodb_force_recovery = 1)
  7. Start MySQL Service

parfait dans mon cas.

j'espère que cela permettra de résoudre votre problème.

151
répondu Nesar 2018-01-15 17:21:23

j'ai eu le même message d'erreur. Ce sont les étapes que j'ai suivies.

  1. a Pris la sauvegarde de \xampp\mysql\data

  2. supprimé tous les fichiers et dossiers du dossier de données saufmysql

  3. a quitté et a recommencé le XAMPP.

  4. déplacer les bases de données de data dossier un par un.

5
répondu San 2016-03-23 05:55:27

la Solution est pour MAC 10.11.3 El Capitaine

  • Go to/Applications/XAMPP/xamppfiles/var/ mysql/
  • supprimer tous les fichiers aléatoires (sauf les dossiers de base de données réels)
  • redémarrez Apache et MySQL.

Cela a fonctionné pour moi.

3
répondu Tarun Gupta 2016-03-19 08:16:21

essayez de renommer /Applications/XAMPP/xamppfiles/var/mysql/ib_logfile0/Applications/XAMPP/xamppfiles/var/mysql/ib_logfile0.bkp

et /Applications/XAMPP/xamppfiles/var/mysql/ib_logfile1/Applications/XAMPP/xamppfiles/var/mysql/ib_logfile1.bkp

3
répondu Djanym 2017-01-25 17:37:30

Pour utiliser le haut ( solution Nesar) dans MAMP (version >= 4), vous devez d'abord copier le my.fichier cnf qui se trouve à l'intérieur de MAMP/tmp/mysql dans le dossier MAMP/conf. Alors seulement, il travail.

3
répondu Leandro Castro 2017-07-26 13:35:30

j'ai eu un problème similaire avec Mamp Pro. Pour moi, il s'est avéré le bon .les fichiers de la BID n'ont pas été trouvés à "Applications/Mamp...". Donc, en regardant de plus près le journal des erreurs, il m'a montré que les fichiers étaient situés à "/Library/Application Support/appsolute/MAMP PRO/db". Comme j'avais des problèmes avec une base de données que je n'utilisais plus, j'ai juste essayé de supprimer le dossier correspondant et ça a fonctionné. L'étape suivante aurait été de supprimer les fichiers déjà mentionné par l' auteur.

  • innodb_index_stats.frm
  • innodb_index_stats.mici
  • innodb_table_stats.frm
  • innodb_table_stats.mici
  • slave_master_info.mici
  • slave_relay_log_info.frm
  • slave_relay_log_info.mici
  • slave_worker_info.frm
  • slave_worker_info.mici

mais comme mentionné supprimer le databasefolder a bien fonctionné.

2
répondu haeki 2017-05-08 09:19:43

la réponse de Tgr semble appropriée. Le message sur les permissions etc. est un générique, le message d'erreur est

2015-11-20 9:50:22 4600 [ERROR] InnoDB: Attempted to open a previously opened tablespace. Previous tablespace phpmyadmin/pma__tracking uses space ID: 21 at filepath: .\phpmyadmin\pma__tracking.ibd. Cannot open tablespace wiki/archive which uses space ID: 21 at filepath: .\wiki\archive.ibd

votre base de données wiki et la base de données phpmyadmin ont fini par avoir le même identifiant tablespace. Chaque marcherait bien si l'autre n'était pas présent; comme il est maintenant, vous aurez à renuméroter l'un d'eux en quelque sorte.

0
répondu Nemo 2016-02-13 10:06:54

" tentait d'ouvrir un tablespace déjà ouvert."-- Qui sent comme l'un d'eux:

  • il y a deux copies de MySQL et les deux tentent de s'exécuter.
  • Windows n'a pas réussi à libérer un 'open' sur L'un des fichiers MySQL. J'ai utilisé pour voir le problème. Il a été guéri en redémarrant Windows; plus tard en améliorant Windows.
0
répondu Rick James 2016-11-19 21:16:12

une autre solution pour le problème décrit ci-dessus pour MAMP Pro, car j'ai trouvé impossible d'éditer mon.cnf proprement dit:

lorsque InnoDB s'écrase, repérez dans le message d'erreur la DB qui cause des problèmes. Ici c'est phpmyadmin/pma__tracking donc la table est celle avec l'extension pma_.

alors allez à /Library/Application Support/appsolute/MAMP PRO/db/mysql et supprimez le dossier nommé d'après le problème à L'origine de DB.

redémarrez votre serveur MAMP. Une fois que vous avez redémarré avec succès, vous pouvez arrêter les serveurs à nouveau, Dossier DB où il appartient et redémarrer les serveurs. Tout devrait être rentré dans l'ordre.

0
répondu Lou 2018-03-29 14:43:21

j'ai eu le même problème, après utilisation de la structure de la base de données de récupération ( http://zadpen.com/20-restore-lost-data-in-mysql-using-innodb-engine-without-file-ibdata1.html ) Je supprime l'archive.ibm fichier et de démarrer mysql. puis créez la table d'archive dans la base de données.

0
répondu morteza khadem 2018-05-20 05:16:57