Another MySQL daemon already running with the same unix socket.

ブレーカーが落ちたので再起動したけど、

データベース接続確立エラー

と出るだけ、

# /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 に変えた方がいいんじゃないのか?




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA