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.
- aucun problème de permission
- 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.
- '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é.
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
- ouvrez Mon.ini (mon.cnf sur les systèmes linux et Mac)
- Look pour les [mysqld]
- Juste en dessous de [mysqld] insérer innodb_force_recovery = 1
- Start MySQL Service
- Stop MySQL Service
- Supprimer la ligne de mon.ini (innodb_force_recovery = 1)
- Start MySQL Service
parfait dans mon cas.
j'espère que cela permettra de résoudre votre problème.
j'ai eu le même message d'erreur. Ce sont les étapes que j'ai suivies.
a Pris la sauvegarde de \xampp\mysql\data
supprimé tous les fichiers et dossiers du dossier de données sauf
mysql
a quitté et a recommencé le XAMPP.
déplacer les bases de données de
data
dossier un par un.
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.
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
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.
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é.
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.
" 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.
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.
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.