MySQL table collation suddenly changed to "in use" - mysql

I went to connect to my website via firefox earlier this afternoon and I got an error message reading "Unknown storage engine 'InnoDB'." This is particularly weird because I haven't touched the DB at all during the past few days and my site was working just fine up until a few hours ago. When I went to phpmyadmin, I noticed that some of the tables that had the collations utff8_general_ci have been changed to "in_use" and their engines have been changed from MyISAM to nothing... the engine type is just left blank in phpmyadmin. I'm kind of new to the more intricate aspects of mysql and don't know what's going on. Could someone offer some insight that could possibly lead me in the right direction?
Thanks,
Lance

Try the following:
REPAIR TABLE `table_name`

This may not be a table, but a view that references another table/view that doesn't exist anymore. If this is the case, when you click on the table name, then an error will appear:
1356 - View 'PervAtOtherData' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
To view what the view is calling use this SQL:
SHOW CREATE VIEW `PervAtOtherData`;
Or, to delete the view:
DROP VIEW `PervAtOtherData`;

If on windows, do system restore. I had the same problem on 37 tables. It worked for me. If hosted replace the database tables with the ones you have on your computer

Related

Wordpress - Is there a way to recover the table wp_term_relationships?

I'm trying to help a Non-Profit Organization with their site (which is built with Wordpress) that suddenly became "buggy"/odd: menus were missing, categories were empty, etc.
I'm no expert around Wordpress, so the first thing I did was to turn on the DEBUG mode and I get this message:
Error en la base de datos de WordPress:
[Table 'racidb.rc_term_relationships' doesn't exist]
So, next thing I did was check on the database (MySQL). When I login on phpMyAdmin, I can see the table on the left column but when I try to browse the content, I get this message error:
#1146 - Table 'racidb.rc_term_relationships' doesn't exist
I tried to repair the table, drop it and delete it's content with no luck. I keep getting the error #1146.
Unfortunately, there are no backups on the database so I just can't upload the table again.
According to them, the error happened at the same time in which Wordpress was updated to 4.2.6 (they got the automatic email of Wordpress the day this issue appeared).
My questions:
1) Does anyone know what might have happened?
2) Is there any way I can recover the data from MySQL?
3) Is there any way to recover the table "xx_term_relationships"? Besides creating manually all the records.
Many thanks in advanced!
Sorry for late response. But i had the same problem , my client website(WordPress) automatically gets updated.it was build on 3.2 version of WordPress.
Some of the tables gets corrupted and its appear in structures also in left side of tables.
To Solve This problem you need to repair your tables
Go to database > table structure.
Check the table which needs to repair.
select Repair Table from dropdown.

phpmyadmin Error: Relational features are disabled

When I try and create a relationship between two tables I get the error -
"Relational features are disabled".
I've seen that updating phpmyadmin could possibly solve the issue, but I don't have access to do this. I contacted hostgator and they say I'm unable to do this and I would have to upgrade to a different plan in order to upgrade phpmyadmin.
I'm currently running version 4.3.8.
Is there any other fix for this error to allow relationships to be created between tables?
you have to convert your table/db engine to InnoDB with this query :
ALTER TABLE table_name ENGINE=InnoDB;

phpmyadmin only displays internal relation in relational view

I am trying to setup foreign key for my mysql database using phpmyadmin.
But phpmyadmin only displays internal relation in 'relational view'. Note I have already made sure of following steps.
Setup phpmyadmin database (create_table.sql and config stuff)
Made sure all tables in my database using InnoDb
Made sure my intended foreign keys/reference Keyes are indexed.
After all these steps I can only see internal relations in my relational view.
Am I missing something?
This is not actually a solution, but since I cannot comment on posts yet, I'll add a few comments that might help.
I've faced this same issue and the critical parameters seem to be the following:
Case insensitive operating system (in my case windows)
Mixed-case table names (e.g. "TableName")
I've been using Mixed-case table names successfully in Linux, but in Windows something seems to go really wrong with phpMyAdmin.
I bet your table names are mixed-case. Try creating a test table yourself, with a fully lowercase name, and check if you see the "Foreign Key Relations" options of phpMyAdmin.
If you do, then we've found the source of the problem and we're just left with finding a solution or workaround for it :)
ps: More on case-sensitivity and mysql, without any hints about phpMyAdmins view on all of this, can be found here:
http://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html
This IS the solution. Renaming table name 'myTable' to 'my_table' solves the problem.
If you have different storage engines on the tables in your database, this would be the case. The only storage engine I know to support foreign keys is InnoDB. MyISAM and the rest don't seem to work.
Change your Storage Engine to: innoDB and then click save.

MySQL Error 2013 after a failed attempt to import

I was importing one table in a MySQL Server when the power went down. After this event I tried to query the table I was importing, but got the error 2013, only when I'm querying this table (the others work just fine).
I have physical access to the server, tried to execute any query from there (tried to SELECT, and even DROP TABLE) but still got the same error.
Does anybody know a solution where I can re-build only the table (without building the whole schema from scratch?)
I'm adding this as an answer rather than having lots of comments underneath. I must state in advance that I've not used MySQL but I have used SQL server a lot so I'm hoping that something I say may help.
You say the table is still there. Was it created as part of the operation you were doing or had it been there for a while?
What happens if someone else or a different account tries to access this table?
Is there anything on this page that is relevant to your problem?
http://dev.mysql.com/doc/refman/5.0/en/gone-away.html

MySQL "Error 1005" when adding tables

I've recently been working with a MySQL database, and using MySQL workbench to design the Database.
When I use the export to SQL function, so I can actually get the layout in to the Database, I get:
"Error 1005: Cannot create table"
This appears to be related to Foreign Keys in the create table statement.
Does anybody have a work around for this that doesn't involve taking the constraints out and putting them back in later? That's a less than ideal solution given the size of the database.
When you get this (and other errors out of the InnoDB engine) issue:
SHOW ENGINE INNODB STATUS;
It will give a more detailed reason why the operation couldn't be completed. Make sure to run that from something that'll allow you to scroll or copy the data, as the response is quite long.
I ran into this situation recently when I attempted (in InnoDB tables) to make a foreign key reference to a column that had a different data type.
MySQL 5.1 Documentation