AppArmor rules cause tmp table problem
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
apparmor (Ubuntu) |
Fix Released
|
Undecided
|
Jamie Strandboge |
Bug Description
I installed Jaunty (mythbuntu) yesterday and tweaked my mysql configuration to have the server use InnoDB. When I then ran mysql_convert_
The perms on all mysql directories are fine and when I turned apparmor off MySQL stopped complaining.
$ lsb_release -rd
Description: Ubuntu jaunty (development branch)
Release: 9.04
$ apt-cache policy mysql-server-5.0
mysql-server-5.0:
Installed: 5.1.30really5.
Candidate: 5.1.30really5.
Version table:
*** 5.1.30really5.
500 http://
100 /var/lib/
syslog:
Mar 30 08:57:33 mythtv mysqld[19263]: InnoDB: Unable to lock /tmp/#sql4b3d_
Mar 30 08:57:33 mythtv mysqld[19263]: InnoDB: Check that you do not already have another mysqld process
Mar 30 08:57:33 mythtv mysqld[19263]: InnoDB: using the same InnoDB data or log files.
Mar 30 08:57:33 mythtv mysqld[19263]: 090330 8:57:33 InnoDB: Error creating file '/tmp/#
Mar 30 08:57:33 mythtv mysqld[19263]: 090330 8:57:33 InnoDB: Operating system error number 13 in a file operation.
Mar 30 08:57:33 mythtv kernel: [55954.747069] type=1503 audit(123836385
Mar 30 08:57:33 mythtv mysqld[19263]: InnoDB: The error means mysqld does not have the access rights to
Mar 30 08:57:33 mythtv mysqld[19263]: InnoDB: the directory.
Mar 30 08:57:33 mythtv mysqld[19263]: 090330 8:57:33 InnoDB: Error: table `tmp/#sql4b3d_2e_0` does not exist in the InnoDB internal
Mar 30 08:57:33 mythtv mysqld[19263]: InnoDB: data dictionary though MySQL is trying to drop it.
Mar 30 08:57:33 mythtv mysqld[19263]: InnoDB: Have you copied the .frm file of the table to the
Mar 30 08:57:33 mythtv mysqld[19263]: InnoDB: MySQL database directory from another database?
Mar 30 08:57:33 mythtv mysqld[19263]: InnoDB: You can look for further help from
Mar 30 08:57:33 mythtv mysqld[19263]: InnoDB: http://
Mar 30 08:57:33 mythtv mysqld[19263]: 090330 8:57:33 [Warning] Could not remove tmp table: '/tmp/#
This should really be fixed in the apparmor user-tmp abstraction. Moving to apparmor.