I installed 4.1.7 on a box with 4.0.15 already on it. Ran mysql_install_db successfully, started up the 4.1.7 instance of mysql, created a couple of users and a database; all successfully.
I then realised I'd not created a socket, so created a my.conf for th 4.1.7 instance, including the following line:-
innodb_data_home_dir = /usr/local/mysql-4.1.7/var
I start the 4.1.7 mysql instance up, specifying the new my.conf for it:-
and in the error file, I get:-
041209 13:04:56 mysqld started
041209 13:04:57 InnoDB: Started; log sequence number 0 43634
041209 13:04:57 [ERROR] /usr/local/mysql-4.1.7/libexec/mysqld: Can't find file: './mysql/host.frm' (errno: 13)
041209 13:04:57 [ERROR] Fatal error: Can't open privilege tables: Can't find file: './mysql/host.frm' (errno: 13)
041209 13:04:57 mysqld ended
I've tried starting it as mysql and as root.
When I look at /usr/local/mysql-4.1.7/var:-
drwxr-xr-x 2 mysql mysql 1536 Dec 2 13:48 mysql
so the mysql subdirectory is accessible and under there:-
-rw-rw---- 1 mysql mysql 9148 Dec 2 13:48 host.frm
-rw-rw---- 1 mysql mysql 1024 Dec 2 13:48 host.MYI
-rw-rw---- 1 mysql mysql 0 Dec 2 13:48 host.MYD
So why can't mysql find it? Any ideas?