Sebastiaan van Erk wrote:
> Hi all,
>
> I just recently upgraded to Ubuntu 9.10, but now I'm having all sorts
> of temp file problems. For example, when I try to delete a row and
> violate a contraint I get:
>
> ERROR 1451 (23000): Cannot delete or update a parent row: a foreign
> key constraint fails (temp file operation failed)
>
> Instead of telling me which constraint is violated, it tells me the
> temp file creation failed. I have no reason why it failed, I don't see
> any error messages in the log.
>
> To solve this problem I tried to make a tmpfs partition (I thought,
> maybe somehow my using ext4 might be a problem):
>
> mkdir /tmpfs
> mount -t tmpfs -o size=1g tmpfs /tmpfs
> mkdir /tmpfs/mysql
> chown mysql:mysql
>
> and changed the tmpdir in the mysql config to /tmpfs/mysql
>
> tmpdir=/tmpfs/mysql
>
> But then mysql fails on startup:
>
> /usr/sbin/mysqld: Can't create/write to file '/tmpfs/mysql/ibGgjPv7'
> (Errcode: 13)
> 091108 10:12:46 InnoDB: Error: unable to create temporary file;
> errno: 13
> 091108 10:12:46 [ERROR] Plugin 'InnoDB' init function returned error.
> 091108 10:12:46 [ERROR] Plugin 'InnoDB' registration as a STORAGE
> ENGINE failed.
>
> I checked error code 13, which is permission denied, but I don't
> understand this, because if I change tmpdir to /tmp/mysql it does
> work, and I have:
>
> $ ls -ld /tmp/mysql
> drwxr-xr-x 2 mysql mysql 4096 2009-11-08 10:14 /tmp/mysql
>
> $ ls -ld /tmpfs/mysql
> drwxr-xr-x 2 mysql mysql 40 2009-11-08 10:12 /tmpfs/mysql
>
> So I don't see the difference....
>
> Has anyone encountered similar problems, or know what's going on here?
>
> Best regards,
> Sebastiaan
>
This might just be a typo, but the chown statement you gave us didn't
have a target and so would not have affected the relevant directories:
mkdir /tmpfs
mount -t tmpfs -o size=1g tmpfs /tmpfs
mkdir /tmpfs/mysql
chown mysql:mysql
Probably should be:
chown -R mysql:mysql /tmpfs/mysql
john