Cross-Connection Query error: Table '.\mysql\tables_priv' is marked as crashed and should be repaired

Hi all,

I’m running into an odd error when I am creating a cross connection query in DataPoint, using the Query Builder. The builder connects the tables as expected and visually seems fine, reviewed the SQL and it seems fine, but upon running the query the I am given an error box with the error : “Table ‘.\mysql\tables_priv’ is marked as crashed and should be repaired”. At this point the query will not process and closing the message just goes back to the query builder. I am not connecting to mySQL, so suspect this something within the DataPoint implementation.

Does anyone know how to repair this \MySQL\tables_priv ? and/or get past this issue?

Windows 10

Toad DataPoint Profssional 4.3.0.718 (64 bit)

Connections to two different Oracle 12c databases.

Thanks,

Russell

hi Russell,

TDP cross query module internally uses Embedded hub, which is a mysql server with a self-designed engine. that's why you get a mysql error.

from the error message, it seems the table mysql.tables_priv was crashed for some reason. The number one cause of table crash is running out of disk space, so could you please go to check if your Toad installed disk has enough disk space first?

I would like to provide two approaches that may fix your issue:

method 1(recommend): reinstall TDP , and make sure no error happens during the installing process.

or

method 2: repair mysql.tables_priv

  1. open TDP, open cross query builder.

  2. start task manager, then go to find mysqld.exe process, get its port number from the "command line" column, see my pic below

  1. try to connect to the embedded hub(mysqld.exe) with TDP( connect as a mysql connection) or other mysql client

host: localhost

port: xxx

user: root

password: (no need to input )

  1. run the following queries one by one:

"check table mysql.tables_priv"; - it's to get the table's status before the repair job

"REPAIR TABLE mysql.tables_priv" -to repair this table

"check table mysql.tables_priv"; - it's to get the table's status after the repair job

at last, please restart TDP, then have a try to do cross query.

if you have any question, please feel free to ask ,thanks.

Thanks very much, this worked and I am able to run my cross-connection queries now.

I didn’t have time this morning to reinstall, so I used method 2 to repair the database, and it worked perfectly.

Thanks,

Russell