Bug #21078 ERROR 1051 (42S02): Unknown table 'ndbtable1' when want drop table
Submitted: 15 Jul 2006 17:09 Modified: 9 Jul 2015 11:58
Reporter: [ name withheld ] Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S2 (Serious)
Version:5.1.11 OS:Linux (Linux Debian Sarge)
Assigned to: MySQL Verification Team CPU Architecture:Any
Tags: cluster, create_table, drop_table, ndb

[15 Jul 2006 17:09] [ name withheld ]
Description:
Cannot drop NDB-Tables or create NDB-Tables. My System:

ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=2    @192.168.231.70  (Version: 5.1.11, Nodegroup: 0, Master)
id=3    @192.168.231.80  (Version: 5.1.11, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=1    @192.168.206.12  (Version: 5.1.11)

[mysqld(API)]   4 node(s)
id=4 (not connected, accepting connect from any host)
id=5 (not connected, accepting connect from any host)
id=6    @192.168.231.52  (Version: 5.1.11)
id=7 (not connected, accepting connect from any host)

mysql> use ndbtest;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+-------------------+
| Tables_in_ndbtest |
+-------------------+
| ndbtable1         | 
+-------------------+
1 row in set (0.01 sec)

mysql> drop database ndbtest;
ERROR 1051 (42S02): Unknown table 'ndbtable1'
mysql> insert into ndbtable1 SET i=2;
ERROR 1046 (3D000): No database selected
mysql> use ndbtest;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> insert into ndbtable1 SET i=2;
Query OK, 1 row affected (0.01 sec)

mysql> create table ndbtable2 (i int) engine=ndbcluster;
ERROR 1005 (HY000): Can't create table 'ndbtest.ndbtable2' (errno: 157)

How to repeat:
see above
[17 Jul 2006 11:49] Valeriy Kravchuk
Thank you for a problem report. Are you sure it is not a permissions-related problem? Please, try to repeat beginning with CREATE DATABASE, and performing all actions as the same user who created the database. Inform about the results.
[17 Jul 2006 12:32] [ name withheld ]
Same Problem with new database. I run these commands as user root, so I don't think thats a permission problem.

mysql> create database xyz;
Query OK, 1 row affected (0.00 sec)

mysql> use xyz;
Database changed
mysql> create table ndbtable1 (i int) engine=ndbcluster;
ERROR 1005 (HY000): Can't create table 'xyz.ndbtable1' (errno: 157)
[1 Aug 2006 14:33] Jonas Oreland
Can you try "show warnings" after failing create/drop table ?
[1 Sep 2006 23:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
[13 Jun 2008 11:47] Rudolf Finszter
I have a very similar error on MySQL version 5.0.45-1ub

mysql> show tables;
+---------------------+
| Tables_in_cafeteria |
+---------------------+
| menu                |
+---------------------+
1 row in set (0.00 sec)

mysql> drop table menu;
ERROR 1051 (42S02): Unknown table 'menu'
mysql> show warnings;
+-------+------+-----------------------------+
| Level | Code | Message                     |
+-------+------+-----------------------------+
| Error |  120 | Can't find record in 'menu' |
+-------+------+-----------------------------+
1 row in set (0.00 sec)

mysql> create table menu (a int);
ERROR 1050 (42S01): Table 'menu' already exists
mysql> show warnings;
+-------+------+-----------------------------+
| Level | Code | Message                     |
+-------+------+-----------------------------+
| Error | 1050 | Table 'menu' already exists |
+-------+------+-----------------------------+
1 row in set (0.00 sec)

mysql> alter table menu add column a int;
ERROR 1146 (42S02): Table 'cafeteria.menu' doesn't exist
mysql> show warnings;
+-------+------+--------------------------------------+
| Level | Code | Message                              |
+-------+------+--------------------------------------+
| Error | 1146 | Table 'cafeteria.menu' doesn't exist |
+-------+------+--------------------------------------+
1 row in set (0.00 sec)

----  
Already tried workaround with alter, update, insert, etc.
Found only one value in information_schema.SCHEMATA table.
As the only one user (root) can not delete or update this value due to rights restriction.

phpMyAdmin shows the database with number one (1) in the tables count but writes under that there no tables in the database.
[15 Jun 2008 11:16] Valeriy Kravchuk
Please, try to repeat with a latest 5.0.x and 5.1.x versions and inform about the results.
[15 Jul 2008 23:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
[24 Sep 2009 6:31] Christopher Bautista
Hi! I have a similar problem. I had this cluster installed below

ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=2    @XX.XX.XX.22  (mysql-5.1.35 ndb-7.0.7, Nodegroup: 0, Master)
id=3    @XX.XX.XX.76  (mysql-5.1.35 ndb-7.0.7, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=1    @XX.XX.XX.79  (mysql-5.1.35 ndb-7.0.7)

[mysqld(API)]   2 node(s)
id=4    @XX.XX.XX.22  (mysql-5.1.35 ndb-7.0.7)
id=5    @XX.XX.XX.76  (mysql-5.1.35 ndb-7.0.7)

Everything was working fine. Then i added 2 more SQL nodes
id=6    @XX.XX.XX.77  (mysql-5.1.35 ndb-7.0.7)
id=7    @XX.XX.XX.78  (mysql-5.1.35 ndb-7.0.7)

After that, no ENGINE=ndbcluster tables get created. I tried to first make them into MyISAM tables then alter them same problem. I get :

ERROR 1005 (HY000): Can't create table 'dbTest.tablename' (errno: 120)
[22 Dec 2014 8:55] Сергей Кукуев
Hi!

I have the same error with mysql-5.6.21 ndb-7.3.7.

When I trying drop scheme I got this error:

DROP DATABASE BS_SANITY;
show warnings;
show errors;

# Level, Code, Message
Error, 1051, Unknown table 'BS_SANITY.BL_PAnumbers,BS_SANITY.BL_TariffPlansDict,BS_SANITY.TL_Factors,BS_SANITY.SE_Entities,BS_SA'

Seemed that this behaviour related to the error described in bug #56929
http://bugs.mysql.com/bug.php?id=56929

Sometimes cluster crushed, sometimes cluster lives but mysqld returns this error.

Tonight cluster crushed with error 

Time: Saturday 20 December 2014 - 22:45:26
Status: Temporary error, restart node
Message: Internal program error (failed ndbrequire) (Internal error, programming error or missing error message, please report a bug)
Error: 2341
Error data: DbtupTrigger.cpp
Error object: DBTUP (Line: 2184) 0x00000002
Program: ndbmtd
Pid: 23408 thr: 3
Version: mysql-5.6.21 ndb-7.3.7
Trace: /home/mysql/ndb/ndb_2_trace.log.3 [t1..t5]
***EOM***

After node restart mysqld returned: Error, 1051, Unknown table 

Relater error report attached to bug #56929
[9 Jun 2015 11:58] MySQL Verification Team
Hi,

I can reproduce the 56929 but not this one! If you run "show databases" before DROP, does the problem go away?

Thanks
Bogdan Kecman
[10 Jul 2015 1:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
[27 Sep 2018 6:27] Malinda Smith
Been having the same problem. All of a sudden, I can't do anything in MySQL.  I'm wondering if it is because I tried to change the root password several times with errors.  But I also have been having an issue of not being able to log into phpMyAdmin and I think that has to do with Atom Editor that I downloaded about a month ago. I just haven't had the time to remove it.  But I also tried to correct it and couldn't find a mysql.sock in the location it was suppose to be in. I don't remember the steps I followed, but a file was created in a different location and did not know the correct location at the time. So I currently do not have a /var/run/mysql/mysql.sock and my config.inc.php file is screwed up as well, because I think my systems are not all responding to the same PHP version and I have no idea how to correct that. 

phpMyAdmin gives me error messages:

#2002 - Too many levels of symbolic links — The server is not responding (or the local server's socket is not correctly configured).

and:

mysqli_real_connect(): (HY000/2002): Too many levels of symbolic links

These messages are different from earlier, so I don't know what has changed.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| dreamweaver        |
+--------------------+
2 rows in set (0.19 sec)

mysql> set password for root@localhost=password 'abAd413';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''abAd413'' at line 1
mysql> set password for root@localhost=password abAd413;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'abAd413' at line 1
mysql> set password for root@localhost = password (abAd413);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'abAd413)' at line 1
mysql> flush privileges;
ERROR 1227 (42000): Access denied; you need (at least one of) the RELOAD privilege(s) for this operation
mysql> SET PASSWORD FOR root@'localhost' = PASSWORD('abAd413');
ERROR 1044 (42000): Access denied for user 'malinda'@'localhost' to database 'mysql'
mysql> SET PASSWORD FOR root@localhost = PASSWORD('abAd413');
ERROR 1044 (42000): Access denied for user 'malinda'@'localhost' to database 'mysql'
mysql> GRANT ALL on *.* TO 'malinda'@'localhost' IDENTIFIED BY 'dap2450';
ERROR 1045 (28000): Access denied for user 'malinda'@'localhost' (using password: YES)
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| dreamweaver        |
+--------------------+
2 rows in set (0.15 sec)

mysql> use dreamweaver;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+-----------------------+
| Tables_in_dreamweaver |
+-----------------------+
| testdw                |
+-----------------------+
1 row in set (0.00 sec)

mysql> describe testdw;
ERROR 1146 (42S02): Table 'dreamweaver.testdw' doesn't exist
mysql> describe testdw;
ERROR 1146 (42S02): Table 'dreamweaver.testdw' doesn't exist
mysql> drop table testdw;
ERROR 1051 (42S02): Unknown table 'dreamweaver.testdw'
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| dreamweaver        |
+--------------------+
2 rows in set (0.31 sec)

mysql> drop database dreamweaver;
ERROR 1010 (HY000): Error dropping database (can't rmdir './dreamweaver', errno: 66)
mysql> create database medicare4u;
ERROR 1044 (42000): Access denied for user 'malinda'@'localhost' to database 'medical'
mysql>
[27 Sep 2018 7:23] MySQL Verification Team
Hi Malinda, 

You are reporting issue that has nothing to do with original bug report. Feel free to open the new bug report with your issue (that btw is not a bug so you should contact support, not a bug team).

best regards
Bogdan