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