On Wed, Jun 2, 2010 at 8:41 AM, Matt Graham
<danceswithcrows@usa.net> wrote:
From: Alex Dean <alex@crackpot.org>
> On Jun 2, 2010, at 10:12 AM, Mark Phillips wrote:
>> On Wed, Jun 2, 2010 at 8:02 AM, Alex Dean wrote:
>>> On Jun 2, 2010, at 9:35 AM, Mark Phillips wrote:
>>>> Starting MySQL database server: mysqld failed!
>>> Check the mysql error log & syslog in your chroot to see if you can
>>> figure out why MySQL failed to start.
>> Looking in my chroot, there is nothing in /var/log/mysql.err, /var/
>> log/mysql.log, or /var/log/mysql. I mean no entries.
> You mean the files exist, but are 0 length? I wonder what created
> them. Maybe the debian post-install scripts. Would the mysql user be
> able to write to those files & directories, or are they owned by root
> or some other user?
The post-install script should've chowned the mysql log files to mysql. Hm,
are the /etc/passwd and /etc/group files in the chroot set up OK? I know, you
probably checked that, but you didn't say anything about it.
didn't check, but they look ok:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
mark:x:1000:1000:Mark Phillips,,,:/home/mark:/bin/bash
plone:x:1001:1001::/home/plone:/bin/false
Debian-exim:x:102:105::/var/spool/exim4:/bin/false
mysql:x:101:104:MySQL Server,,,:/var/lib/mysql:/bin/false
[orca:/]# cat /etc/group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
uucp:x:10:
man:x:12:
proxy:x:13:
kmem:x:15:
dialout:x:20:
fax:x:21:
voice:x:22:
cdrom:x:24:
floppy:x:25:
tape:x:26:
sudo:x:27:
audio:x:29:
dip:x:30:
www-data:x:33:
backup:x:34:
operator:x:37:
list:x:38:
irc:x:39:
src:x:40:
gnats:x:41:
shadow:x:42:
utmp:x:43:
video:x:44:
sasl:x:45:
plugdev:x:46:
staff:x:50:
games:x:60:
users:x:100:
nogroup:x:65534:
libuuid:x:101:
crontab:x:102:
mark:x:1000:
ssh:x:103:
plone:x:1001:
Debian-exim:x:105:
mysql:x:104:
> It looks like you have all binaries & libraries installed, but some
> post-installation tasks have failed to complete. You might try
> starting mysql yourself, and see if that gives you any more clues
> about what's wrong.
Yeah. And if that gives you no useful info, there's always the nuclear
option: "strace -ff /etc/init.d/mysql start > strace.log 2>&1" . That'll
produce a LOT of output, but somewhere within the last ~2000 lines of the
file, there should be something like "open("/usr/lib/mysql/something") : -1
ENOENT (no such file or dir) " that will a) not exist b) be completely vital
c) not be in any error message that gets reported. BTDT, with Orrible.
Ok, I found these suspicios entries -
looking for "error"
24112 [pid 17823] rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
24113 [pid 17823] write(1, "0 processes alive and '/usr/bin/m"..., 99) = 99
24114 [pid 17823] write(1, "\7/usr/bin/mysqladmin: connect to "..., 62) = 62
24115 [pid 17823] write(1, "error: 'Can't connect to local My"..., 94) = 94
24116 [pid 17823] write(1, "Check that mysqld is running and "..., 88) = 88
24117 [pid 17823] write(1, "\n"..., 1) = 1
24118 [pid 17823] exit_group(0) = ?
looking for ENOENT
24135 [pid 17824] stat64("/usr/local/sbin/logger", 0xfffa2798) = -1 ENOENT (No such file or directory)
24136 [pid 17824] stat64("/usr/local/bin/logger", 0xfffa2798) = -1 ENOENT (No such file or directory)
24137 [pid 17824] stat64("/usr/sbin/logger", 0xfffa2798) = -1 ENOENT (No such file or directory)
24138 [pid 17824] stat64("/usr/bin/logger", {st_mode=S_IFREG|0755, st_size=7884, ...}) = 0
24139 [pid 17824] stat64("/usr/bin/logger", {st_mode=S_IFREG|0755, st_size=7884, ...}) = 0
24153 [pid 17824] access("/etc/ld.so.nohwcap", F_OK <unfinished ...>
24154 [pid 17619] rt_sigaction(SIGINT, {0x807ef30, [], 0}, <unfinished ...>
24155 [pid 17824] <... access resumed> ) = -1 ENOENT (No such file or directory)
24156 [pid 17619] <... rt_sigaction resumed> {SIG_DFL}, 8) = 0
24157 [pid 17824] mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7f40000
24158 [pid 17619] waitpid(-1, <unfinished ...>
24159 [pid 17824] access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
24160 [pid 17619] <... waitpid resumed> [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 17823
24161 [pid 17824] open("/etc/ld.so.cache", O_RDONLY <unfinished ...>
24162 [pid 17619] waitpid(-1, Process 17619 suspended
24163 <unfinished ...>
24164 [pid 17824] <... open resumed> ) = 3
24165 [pid 17824] fstat64(3, {st_mode=S_IFREG|0644, st_size=9597, ...}) = 0
24166 [pid 17824] mmap2(NULL, 9597, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf7f3d000
24167 [pid 17824] close(3) = 0
24168 [pid 17824] access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
24169 [pid 17824] open("/lib/libc.so.6", O_RDONLY) = 3
24200 [pid 17824] connect(1, {sa_family=AF_FILE, path="/dev/log"...}, 110) = -1 ENOENT (No such file or directory)
24201 [pid 17824] close(1) = 0
24202 [pid 17824] time(NULL) = 1275493721
24203 [pid 17824] stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=118, ...}) = 0
24204 [pid 17824] socket(PF_FILE, SOCK_DGRAM, 0) = 1
24205 [pid 17824] fcntl64(1, F_SETFD, FD_CLOEXEC) = 0
24206 [pid 17824] connect(1, {sa_family=AF_FILE, path="/dev/log"...}, 110) = -1 ENOENT (No such file or directory)
24207 [pid 17824] close(1) = 0
24208 [pid 17824] time(NULL) = 1275493721
24209 [pid 17824] stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=118, ...}) = 0
24210 [pid 17824] socket(PF_FILE, SOCK_DGRAM, 0) = 1
24211 [pid 17824] fcntl64(1, F_SETFD, FD_CLOEXEC) = 0
24212 [pid 17824] connect(1, {sa_family=AF_FILE, path="/dev/log"...}, 110) = -1 ENOENT (No such file or directory)
24213 [pid 17824] close(1) = 0
24214 [pid 17824] time(NULL) = 1275493721
24215 [pid 17824] stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=118, ...}) = 0
24216 [pid 17824] socket(PF_FILE, SOCK_DGRAM, 0) = 1
24217 [pid 17824] fcntl64(1, F_SETFD, FD_CLOEXEC) = 0
24218 [pid 17824] connect(1, {sa_family=AF_FILE, path="/dev/log"...}, 110) = -1 ENOENT (No such file or directory)
24219 [pid 17824] close(1) = 0
24220 [pid 17824] time(NULL) = 1275493721
24221 [pid 17824] stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=118, ...}) = 0
24222 [pid 17824] socket(PF_FILE, SOCK_DGRAM, 0) = 1
24223 [pid 17824] fcntl64(1, F_SETFD, FD_CLOEXEC) = 0
24224 [pid 17824] connect(1, {sa_family=AF_FILE, path="/dev/log"...}, 110) = -1 ENOENT (No such file or directory)
24225 [pid 17824] close(1) = 0
24266 [pid 17825] access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
24267 [pid 17825] mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7f0e000
24268 [pid 17825] access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
24269 [pid 17825] open("/etc/ld.so.cache", O_RDONLY) = 3
24270 [pid 17825] fstat64(3, {st_mode=S_IFREG|0644, st_size=9597, ...}) = 0
24271 [pid 17825] mmap2(NULL, 9597, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf7f0b000
24272 [pid 17825] close(3) = 0
24273 [pid 17825] access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
24274 [pid 17825] open("/lib/libc.so.6", O_RDONLY) = 3
I mounted /proc and /dev/pts from the 64 bit system to the chroot. Do I need to do that for other file systems, or was that wrong? Too many different chroot 'recipes" out there!
Also also, if you're using InnoDB, and you copied the MySQL data dir from a
data dir that was being used on another arch (like a 64-bit MySQL data dir
being copied to a 32-bit data dir), then make sure you don't have the old
ib_logfile* files sitting in the data dir. *That* will make 5.0.51a fail on
start with really confusing/stupid/pointless error messages. At least it did
the last time I tried that.
No tables copied over from 64 bit system. Just a clean clean squeeky clean installation!
Mark
--
Matt G / Dances With Crows
The Crow202 Blog: http://crow202.org/wordpress/
There is no Darkness in Eternity/But only Light too dim for us to see