データベース接続確立エラー→mysqlが起動しない
-
startで起動しないのではなく起動しているから起動エラーになるとか・・・
restartでも同じですか?
MySQLサーバーにコンソールからログインできますか?
ログインや起動を試みた際のログをご確認ください。
/var/log/messagesに出力されます。ありがとうございます。ServersMan@VPSのサポートにうかがったところ、mysqlが動いていないとのことでした。ちなみにrestartをかけると、以下のようになります。
→/etc/rc.d/init.d/mysqld restart
mysqld を停止中: [ OK ]
MySQL Daemon failed to start.
mysqld を起動中: [失敗]コンソールからのログインでは、以下のようになります。ほかのユーザーでログインしようとしても同じようになります。
→mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)→/var/log/messages は以下のとおりです。27日のものしか見えないのですが。
Jan 27 03:24:02 dti-vps-**** syslogd 1.4.1: restart.
Jan 27 13:39:18 dti-vps-**** shutdown[36164]: shutting down for system halt
Jan 27 13:39:18 dti-vps-**** init: Switching to runlevel: 0
Jan 27 13:39:18 dti-vps-**** saslauthd[42450]: server_exit : master exited: 42450
Jan 27 13:39:19 dti-vps-**** xinetd[41984]: Exiting…
Jan 27 13:39:20 dti-vps-**** exiting on signal 15
Jan 27 13:40:32 dti-vps-**** syslogd 1.4.1: restart.
Jan 27 13:40:32 dti-vps-**** iscsid: iSCSI logger with pid=56722 started!
Jan 27 13:40:32 dti-vps-**** iscsid: Missing or Invalid version from /sys/module/scsi_transport_iscsi/version. Make sure a up to date scsi_transport_iscsi module is loaded and a up todate version of iscsid is running. Exiting…
Jan 27 13:40:33 dti-vps-**** xinetd[56770]: xinetd Version 2.3.14 started with libwrap loadavg labeled-networking options compiled in.
Jan 27 13:40:33 dti-vps-**** xinetd[56770]: Started working: 0 available services
Jan 27 13:40:34 dti-vps-**** saslauthd[58764]: detach_tty : master pid is: 58764
Jan 27 13:40:34 dti-vps-**** saslauthd[58764]: ipc_init : listening on socket: /var/run/saslauthd/mux
Jan 27 13:40:38 dti-vps-**** init: no more processes left in this runlevel
Jan 27 17:45:53 dti-vps-**** yum: Installed: 2:nmap-4.11-2.i386→/var/log/mysqld.log は以下のとおりです。
130130 17:43:42 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
130130 17:43:42 [Note] Plugin ‘FEDERATED’ is disabled.
/usr/libexec/mysqld: Can’t find file: ‘./mysql/plugin.frm’ (errno: 13)
130130 17:43:42 [ERROR] Can’t open the mysql.plugin table. Please run mysql_upgrade to create it.
130130 17:43:42 InnoDB: The InnoDB memory heap is disabled
130130 17:43:42 InnoDB: Mutexes and rw_locks use InnoDB’s own implementation
130130 17:43:42 InnoDB: Compressed tables use zlib 1.2.3
130130 17:43:42 InnoDB: Using Linux native AIO
130130 17:43:42 InnoDB: Initializing buffer pool, size = 128.0M
130130 17:43:42 InnoDB: Completed initialization of buffer pool
130130 17:43:42 InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: ‘open’.
InnoDB: Cannot continue operation.
130130 17:43:42 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid endedこれらから何か糸口が見つかればよいのですが。よろしくお願いいたします。
参考にしてみてください。
http://www.hi-ho.ne.jp/tsumiki/book_sup2.htmlまだ、こまかい動作の検証はしていないのですが、とりあえずmysqlの起動に成功し、サイトが表示できるようになりましたので報告します。
まず、紹介された参考サイトを見て「MySQLサーバーで使うソケットをクライアントに合わせる」というやり方を試みたのですが、これは変化がありませんでした。
次の「クライアント側で接続先のソケットを指定する」は、僕の腕ではなにか大失敗をやらかしてしまいそうだったので、最後にやってみることにしました。
そこで「なんらかの理由でソケットファイルが削除されている」を疑ってみました。実はこれは以前から気にしていて、あれこれ試しては失敗していました。ファイルも見つかりませんでした。
しかし「ソケットファイル格納ディレクトリのパーミションの問題が考えられます。」という文を読み、ここに chmod 777 を与えてみました。ところが、これでも起動は失敗に終わりました。
そこで改めて /var/log/mysqld.log を見ると、以下のようなエラーが出ていました。
[ERROR] /usr/libexec/mysqld: Can’t create/write to file ‘/var/run/mysqld/mysqld.pid’ (Errcode: 13)
[ERROR] Can’t start server: can’t create PID file: Permission denied探してみると/var/run/mysqld以下にmysqld.pid というファイルはなく、これもパーミッションが問題かと思い、ここにもchmod 777を与えてみました。
そのうえで/etc/rc.d/init.d/mysqld start をやってみると、
mysqld を起動中: [ OK ]という文字が出てきました。サイトを確認すると問題なく表示されました。なぜこうなったのか、僕の知識ではわからないことばかりですが、mojimojiさんのアドバイスのおかげでこうして復旧することができました。本当にありがとうございました。
解決したようで、よかったですね。
パーミッションは777ではなく775で良いと思います。
グループと所有者がmysqlになっていればOKのはずです。
- トピック「データベース接続確立エラー→mysqlが起動しない」には新たに返信することはできません。