Having chroot Problems with MySQL
Mark Phillips
mark at phillipsmarketing.biz
Wed Jun 2 09:00:09 MST 2010
On Wed, Jun 2, 2010 at 8:41 AM, Matt Graham <danceswithcrows at usa.net> wrote:
> From: Alex Dean <alex at 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
>
> ---------------------------------------------------
> PLUG-discuss mailing list - PLUG-discuss at lists.plug.phoenix.az.us
> To subscribe, unsubscribe, or to change your mail settings:
> http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.PLUG.phoenix.az.us/pipermail/plug-discuss/attachments/20100602/4134ae17/attachment.htm>
More information about the PLUG-discuss
mailing list