Re: InnoDB inside loopback or FUSE file system
I recreated the fuse-file in /var/public/file (now 80MB) and disabled startup in /etc/init/mysql.conf. FYI I have also separated the data for InnoDB and MyISAM into /var/lib/mysql/innodb and /var/lib/mysql/myisam. Innodb goes to the /var/public/file, here is fstab:
/var/public/file /var/public/file_mount ext4 loop 0 0
bindfs#/var/public/file_mount /var/lib/mysql/innodb fuse owner=mysql,group=mysql,perms=755 0 0
I manually created the dir /var/run/mysqld as it complained about that it did not exist when I ran strace and did not start.
After a reboot i ran strace -e open mysqld as root, and then after a while killall -QUIT mysqld. Here is the output from the console, the error log continues to report recreation of innodb files:
-----------------------------------------------------------
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libaio.so.1", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libz.so.1", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libwrap.so.0", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libcrypt.so.1", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
open("/usr/lib/x86_64-linux-gnu/libstdc++.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libnsl.so.1", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 3
open("/etc/mysql/my.cnf", O_RDONLY) = 3
open("/etc/mysql/conf.d/mysqld_safe_syslog.cnf", O_RDONLY) = 4
open("/etc/localtime", O_RDONLY|O_CLOEXEC) = 3
131030 17:47:52 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
open("/usr/share/mysql/english/errmsg.sys", O_RDONLY) = 3
open("/usr/share/mysql/charsets/Index.xml", O_RDONLY) = 3
open("/var/lib/mysql/myisam/laptop1.lower-test", O_RDWR|O_CREAT, 0666) = 3
open("/var/lib/mysql/myisam/laptop1.lower-test", O_RDWR|O_CREAT, 0666) = 3
open("/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 3
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libnss_compat.so.2", O_RDONLY|O_CLOEXEC) = 3
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libnss_nis.so.2", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libnss_files.so.2", O_RDONLY|O_CLOEXEC) = 3
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
open("/proc/sys/kernel/ngroups_max", O_RDONLY) = 3
open("/etc/group", O_RDONLY|O_CLOEXEC) = 3
open("/var/log/mysql/error.log", O_WRONLY|O_CREAT|O_APPEND, 0666) = 3
open("/var/log/mysql/error.log", O_WRONLY|O_CREAT|O_APPEND, 0666) = 3
open("./mysql/plugin.frm", O_RDONLY) = 3
open("/var/lib/mysql/myisam/mysql/plugin.MYI", O_RDWR) = 3
open("./mysql/plugin.MYD", O_RDWR) = 4
open("/tmp/ibNdoDnu", O_RDWR|O_CREAT|O_EXCL, 0600) = 3
open("/tmp/ibNPaqqm", O_RDWR|O_CREAT|O_EXCL, 0600) = 3
open("/tmp/ibe2ofte", O_RDWR|O_CREAT|O_EXCL, 0600) = 3
open("/tmp/ibPzm7v6", O_RDWR|O_CREAT|O_EXCL, 0600) = 3
open("/tmp/ibYgFAHY", O_RDWR|O_CREAT|O_EXCL, 0600) = 3
open("/var/lib/mysql/innodb/ibdata1", O_RDWR|O_CREAT|O_EXCL, 0660) = 3
open("/var/lib/mysql/innodb/ib_logfile0", O_RDWR|O_CREAT|O_EXCL, 0660) = 3
open("/var/lib/mysql/innodb/ib_logfile1", O_RDWR|O_CREAT|O_EXCL, 0660) = 3
open("/var/lib/mysql/innodb/ibdata1", O_RDWR) = 3
open("/var/lib/mysql/innodb/ib_logfile0", O_RDWR) = 8
open("/var/lib/mysql/innodb/ib_logfile1", O_RDWR) = 9
open("/tmp/ib5jWK6S", O_RDWR|O_CREAT|O_EXCL, 0600) = 10
open("./mysql/host.frm", O_RDONLY) = 13
open("/var/lib/mysql/myisam/mysql/host.MYI", O_RDWR) = 13
open("./mysql/host.MYD", O_RDWR) = 14
open("./mysql/user.frm", O_RDONLY) = 15
open("/var/lib/mysql/myisam/mysql/user.MYI", O_RDWR) = 15
open("./mysql/user.MYD", O_RDWR) = 16
open("./mysql/db.frm", O_RDONLY) = 17
open("/var/lib/mysql/myisam/mysql/db.MYI", O_RDWR) = 17
open("./mysql/db.MYD", O_RDWR) = 18
open("./mysql/proxies_priv.frm", O_RDONLY) = 19
open("/var/lib/mysql/myisam/mysql/proxies_priv.MYI", O_RDWR) = 19
open("./mysql/proxies_priv.MYD", O_RDWR) = 20
open("./mysql/time_zone_leap_second.frm", O_RDONLY) = 21
open("/var/lib/mysql/myisam/mysql/time_zone_leap_second.MYI", O_RDWR) = 21
open("./mysql/time_zone_leap_second.MYD", O_RDWR) = 22
open("./mysql/time_zone_name.frm", O_RDONLY) = 23
open("/var/lib/mysql/myisam/mysql/time_zone_name.MYI", O_RDWR) = 23
open("./mysql/time_zone_name.MYD", O_RDWR) = 24
open("./mysql/time_zone.frm", O_RDONLY) = 25
open("/var/lib/mysql/myisam/mysql/time_zone.MYI", O_RDWR) = 25
open("./mysql/time_zone.MYD", O_RDWR) = 26
open("./mysql/time_zone_transition_type.frm", O_RDONLY) = 27
open("/var/lib/mysql/myisam/mysql/time_zone_transition_type.MYI", O_RDWR) = 27
open("./mysql/time_zone_transition_type.MYD", O_RDWR) = 28
open("./mysql/time_zone_transition.frm", O_RDONLY) = 29
open("/var/lib/mysql/myisam/mysql/time_zone_transition.MYI", O_RDWR) = 29
open("./mysql/time_zone_transition.MYD", O_RDWR) = 30
open("./mysql/tables_priv.frm", O_RDONLY) = 21
open("/var/lib/mysql/myisam/mysql/tables_priv.MYI", O_RDWR) = 21
open("./mysql/tables_priv.MYD", O_RDWR) = 22
open("./mysql/columns_priv.frm", O_RDONLY) = 23
open("/var/lib/mysql/myisam/mysql/columns_priv.MYI", O_RDWR) = 23
open("./mysql/columns_priv.MYD", O_RDWR) = 24
open("./mysql/procs_priv.frm", O_RDONLY) = 25
open("/var/lib/mysql/myisam/mysql/procs_priv.MYI", O_RDWR) = 25
open("./mysql/procs_priv.MYD", O_RDWR) = 26
open("./mysql/servers.frm", O_RDONLY) = 27
open("/var/lib/mysql/myisam/mysql/servers.MYI", O_RDWR) = 27
open("./mysql/servers.MYD", O_RDWR) = 28
open("./mysql/func.frm", O_RDONLY) = 29
open("/var/lib/mysql/myisam/mysql/func.MYI", O_RDWR) = 29
open("./mysql/func.MYD", O_RDWR) = 30
open("./performance_schema/events_waits_current.frm", O_RDONLY) = 29
open("./performance_schema/events_waits_history.frm", O_RDONLY) = 29
open("./performance_schema/events_waits_history_long.frm", O_RDONLY) = 29
open("./performance_schema/setup_consumers.frm", O_RDONLY) = 29
open("./performance_schema/setup_instruments.frm", O_RDONLY) = 29
open("./performance_schema/setup_timers.frm", O_RDONLY) = 29
open("./performance_schema/performance_timers.frm", O_RDONLY) = 29
open("./performance_schema/threads.frm", O_RDONLY) = 29
open("./performance_schema/events_waits_summary_by_thread_by_event_name.frm", O_RDONLY) = 29
open("./performance_schema/events_waits_summary_by_instance.frm", O_RDONLY) = 29
open("./performance_schema/events_waits_summary_global_by_event_name.frm", O_RDONLY) = 29
open("./performance_schema/file_summary_by_event_name.frm", O_RDONLY) = 29
open("./performance_schema/file_summary_by_instance.frm", O_RDONLY) = 29
open("./performance_schema/mutex_instances.frm", O_RDONLY) = 29
open("./performance_schema/rwlock_instances.frm", O_RDONLY) = 29
open("./performance_schema/cond_instances.frm", O_RDONLY) = 29
open("./performance_schema/file_instances.frm", O_RDONLY) = 29
open("./ddl_log.log", O_RDWR) = -1 ENOENT (No such file or directory)
open("./mysql/event.frm", O_RDONLY) = 29
open("/var/lib/mysql/myisam/mysql/event.MYI", O_RDWR) = 29
open("./mysql/event.MYD", O_RDWR) = 30
--- SIGWINCH (Window changed) @ 0 (0) ---
--- SIGUSR1 (User defined signal 1) @ 0 (0) ---
-----------------------------------------------------------
I ran e2fsck on /var/public file but got no errors, except a warning about not cleanly unmounted file system.
Restarting only mysqld does not recreate files, so it could be something in the startup that does something.
Here is /etc/init/mysql.conf that came with Linux Mint 15:
-----------------------------------------------------------
# MySQL Service
description "MySQL Server"
author "Mario Limonciello <superm1@ubuntu.com>"
start on runlevel [2345]
stop on starting rc RUNLEVEL=[016]
respawn
respawn limit 2 5
env HOME=/etc/mysql
umask 007
# The default of 5 seconds is too low for mysql which needs to flush buffers
kill timeout 300
pre-start script
#Sanity checks
[ -r $HOME/my.cnf ]
[ -d /var/run/mysqld ] || install -m 755 -o mysql -g root -d /var/run/mysqld
/lib/init/apparmor-profile-load usr.sbin.mysqld
LC_ALL=C BLOCKSIZE= df --portability /var/lib/mysql/. | tail -n 1 | awk '{ exit ($4<4096) }'
end script
exec /usr/sbin/mysqld
post-start script
for i in `seq 1 30` ; do
/usr/bin/mysqladmin --defaults-file="${HOME}"/debian.cnf ping && {
exec "${HOME}"/debian-start
# should not reach this line
exit 2
}
statusnow=`status`
if echo $statusnow | grep -q 'stop/' ; then
exit 0
elif echo $statusnow | grep -q 'respawn/' ; then
exit 1
fi
sleep 1
done
exit 1
end script
-----------------------------------------------------------
Edited 1 time(s). Last edit at 10/30/2013 11:11AM by Robert Klebe.