Monty gave me the correct clue here. It was a permissioning thing after
all... all of the user.* files in /var/lib/mysql/mysql/ were owned by
root -- all other files were owned by mysql and in the root group. I did a
chown mysql user* and everything is o'tay now...
I wonder why only those files wound up that way? Anyone know the answer?
----- Original Message -----
From: Michael Widenius <monty@stripped>
To: Kingsley Wright <wrightko@stripped>
Sent: Sunday, March 21, 1999 2:25 PM
Subject: Problems with MySQL Linux init.d startup
: I am running TurboLinux 3.0.1 with MySQL 3.22.20a.
: This is an updated RPM package install=20
: mysqld is in:
: mysql is in:
: databases are in:
: There is also a directory with some scripts and stuff in:
: There is a file /etc/rc.d/init.d/mysql which is linked to =
: /etc/rc.d/rc3.d/S98mysql which is what is run at boot time. It looks =
: like a pretty standard stop/start a daemon type thing. =20
: The problem is that when the init.d scripts are being executed, the =
: mysql dies almost immediately after it starts.
: The /var/lib/mysql/vader.pacbell.net.err (hostname.err) file looks like =
: mysqld started on Sat Mar 20 11:53:06 PST 1999
: 990320 11:53:08 /usr/sbin/mysqld: Can't find file: './mysql/user.frm' =
: (errno: 13)
: mysqld ended on Sat Mar 20 11:53:09 PST 1999
: Funny thing is, (not knowing where it assumes the current dir is =
: exactly) /var/lib/mysql/mysql/usr.frm exists=20
: Funnier still is that when I log in as root and run the same script: =
: /etc/rc.d/init.d/mysql start, it starts up just fine with the usual 3 =
: processes and everything appears normal... Can anyone tell me what is =
: going on here? How do I stop it from dying at startup?
: shell> perror 13
: Permission denied
: The problem is that /var/lib/mysql/mysql/user.frm
: is probably only accessable by root
: Check the init.d/mysql script; It's tries to start mysql as a
: specific user. Check that this user has the right to access the above
: (I don't understand why it doesn't work from init)