Unable to drop tables in MySQL
This is as annoying as heck. And unrepeatable to boot. Anyone have a suggestion about how I messed up my installation?
8:08 AM: seems to be related to the suid script that I use to run mysqld_safe. If I run the script as the mysql user or I explicitly run /usr/local/mysql/bin/mysqld_safe as myself, then everything is fine. But when I run the suid script as myself, then the problem appears.
local/mysql 52 $ pwd /usr/local/mysql local/mysql 53 $ uname -v Darwin Kernel Version 6.8: Wed Sep 10 15:20:55 PDT 2003; root:xnu/xnu-344.49.obj~2/ RELEASE_PPC local/mysql 54 $ ./bin/mysqld --version ./bin/mysqld Ver 4.0.20-standard for apple-darwin6.8 on powerpc (Official MySQL-standard binary) local/mysql 55 $ ps -auxww | grep mysqld mysql 463 0.0 0.1 1828 588 std S 4:04PM 0:00.07 sh ./bin/mysqld_safe mysql 487 0.0 1.8 26304 11964 std S 4:04PM 0:03.99 /usr/local/mysql/bin/mysqld local/mysql 56 $ cat `which mysqld_safe` #!/bin/sh cd /usr/local/mysql/ nohup ./bin/mysqld_safe "$@" > /tmp/mysql$$.out 2>&1 & local/mysql 57 $ mysqladmin -u root -p create foo Enter password: local/mysql 58 $ ls -ld data/foo drwx------ 2 mysql mysql 68 Jun 15 16:23 data/foo/ local/mysql 59 $ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9 to server version: 4.0.20-standard
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> use foo; Database changed mysql> create table bar ( id integer not null primary key, name varchar(32) ); Query OK, 0 rows affected (0.01 sec)
mysql> drop table bar; ERROR 1051: Unknown table 'bar' mysql> drop table foo.bar; ERROR 1051: Unknown table 'bar' mysql> exit Bye local/mysql 60 $ sudo chmod 770 data/foo Password: local/mysql 61 $ ls -ld data/foo drwxrwx--- 5 mysql mysql 170 Jun 15 16:24 data/foo/ local/mysql 62 $ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 10 to server version: 4.0.20-standard
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> drop table foo.bar; Query OK, 0 rows affected (0.01 sec)
mysql> exit Bye