ブレーカーが落ちたので再起動したけど、
データベース接続確立エラー
と出るだけ、
# /etc/rc.d/init.d/mysqld start
Another MySQL daemon already running with the same unix socket.
mysqld を起動中: [失敗]
でもそんなハズはない。
dmesgも特に出ていない。
mysqlのログは、/var/log/mysqld.logなので読んでみると
#tail /var/log/mysqld.log
131203 4:29:32 [Note] /usr/libexec/mysqld: Shutdown complete
131203 04:29:32 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
131203 04:29:34 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
131203 4:29:34 InnoDB: Initializing buffer pool, size = 8.0M
131203 4:29:34 InnoDB: Completed initialization of buffer pool
131203 4:29:34 InnoDB: Started; log sequence number 0 44233
131203 4:29:34 [Note] Event Scheduler: Loaded 0 events
131203 4:29:34 [Note] /usr/libexec/mysqld: ready for connections.
Version: ‘5.1.71’ socket: ‘/var/lib/mysql/mysql.sock‘ port: 3306 Source distribution
ロックファイルか、今ならmutexを使うんだろうが、大昔のUNIXから使われている手法はロックファイルを作れたら独占。使い終わったら消すことで、セマフォ代わりにする。
勿論、不意の停電にはとても弱い。
# ls -al /var/lib/mysql/
合計 20500
drwxr-xr-x 5 mysql mysql 4096 12月 3 04:29 2013 .
drwxr-xr-x. 28 root root 4096 5月 3 03:47 2013 ..
drwx—— 2 mysql mysql 4096 1月 1 02:05 2014 ********DB
-rw-rw—- 1 mysql mysql 5242880 12月 3 04:29 2013 ib_logfile0
-rw-rw—- 1 mysql mysql 5242880 4月 8 03:14 2013 ib_logfile1
-rw-rw—- 1 mysql mysql 10485760 12月 3 04:29 2013 ibdata1
drwx—— 2 mysql mysql 4096 4月 8 03:14 2013 mysql
srwxrwxrwx 1 mysql mysql 0 12月 3 04:29 2013 mysql.sock
drwx—— 2 mysql mysql 4096 12月 29 06:57 2013 ********DB
確かに残ってる。
# rm /var/lib/mysql/mysql.sock
rm: remove ソケット `/var/lib/mysql/mysql.sock’? y
# service mysqld start
mysqld を起動中: [ OK ]
OK。
てか、/tmp/mysql.sock に変えた方がいいんじゃないのか?