お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2013-02-04 20:14:15

zack
新しいメンバ
登録日: 2013-02-04

my.cnf を編集したらMySQLが起動できなくなってしまいました。(start: Job failed to start)

お世話になります。zackと申します。

ubuntu server 12.04 64bit を先日インストールし、LAMP環境にするところまでは一旦できたのですが、
表題のとおり、my.cnf を編集し、MySQLを restartしようとしたところ、エラーがでて起動できなくなってしまいました。

具体的には、他の端末から接続できるようにしたいと思い、my.cnfを編集することにしました。
その際、権限不足で上書きできなかったので、

sudo chmod 777 my.cnf

として、192.168.10.5の行を1行追加しました。

bind-address = 127.0.0.1
bind-address = 192.168.10.5  ← この行

その後、

sudo service mysql restart

を実行したところ、

start: Job failed to start

と出て、起動できなくなりました。

過去の質問を見て、mysqld というコマンドを実行してみたのですが、その結果を見ても意味がわからず、投稿させて頂きました。
どうかアドバイスをおねがいします。

zack@ubuntuServer:/etc/mysql$ sudo mysqld
130204 19:37:28 [Note] Plugin 'FEDERATED' is disabled.
130204 19:37:28 InnoDB: The InnoDB memory heap is disabled
130204 19:37:28 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130204 19:37:28 InnoDB: Compressed tables use zlib 1.2.3.4
130204 19:37:28 InnoDB: Initializing buffer pool, size = 128.0M
130204 19:37:28 InnoDB: Completed initialization of buffer pool
130204 19:37:28 InnoDB: highest supported file format is Barracuda.
130204 19:37:28  InnoDB: Waiting for the background threads to start
130204 19:37:29 InnoDB: 1.1.8 started; log sequence number 1595695
130204 19:37:29 [Note] Server hostname (bind-address): '192.168.10.5'; port: 3306
130204 19:37:29 [Note]   - '192.168.10.5' resolves to '192.168.10.5';
130204 19:37:29 [Note] Server socket created on IP: '192.168.10.5'.
130204 19:37:29 [ERROR] Can't start server: Bind on TCP/IP port: Cannot assign requested address
130204 19:37:29 [ERROR] Do you already have another mysqld server running on port: 3306 ?
130204 19:37:29 [ERROR] Aborting

130204 19:37:29  InnoDB: Starting shutdown...
130204 19:37:29  InnoDB: Shutdown completed; log sequence number 1595695
130204 19:37:29 [Note] mysqld: Shutdown complete

オフライン

 

#2 2013-02-04 20:47:10

zack
新しいメンバ
登録日: 2013-02-04

Re: my.cnf を編集したらMySQLが起動できなくなってしまいました。(start: Job failed to start)

起動できていないので当たり前なのかもしれませんが、接続しようとすると次のようなエラーが出ます。

zack@ubuntuServer:~$ mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

オフライン

 

#3 2013-02-04 21:00:15

ItSANgo
メンバ
登録日: 2012-07-08

Re: my.cnf を編集したらMySQLが起動できなくなってしまいました。(start: Job failed to start)

zack による投稿:

その際、権限不足で上書きできなかったので、

sudo chmod 777 my.cnf

chmod 777 にするとmysqldは起動しません。
sudo chmod 744にして、
sudo vi my.cnf などとして編集してください。

オフライン

 

#4 2013-02-04 21:53:01

zack
新しいメンバ
登録日: 2013-02-04

Re: my.cnf を編集したらMySQLが起動できなくなってしまいました。(start: Job failed to start)

ItSANgoさん、アドバイスありがとうございます。

ItSANgo による投稿:

chmod 777 にするとmysqldは起動しません。
sudo chmod 744にして、
sudo vi my.cnf などとして編集してください。

777だと起動しないんですね。知りませんでした。
my.cnfの中身は編集済みなので、744に変更して実行してみたところ・・まだだめでした。

zack@ubuntuServer:/etc/mysql$ sudo chmod 744 my.cnf
zack@ubuntuServer:/etc/mysql$ sudo mysqld
130204 21:12:06 [Note] Plugin 'FEDERATED' is disabled.
130204 21:12:06 InnoDB: The InnoDB memory heap is disabled
130204 21:12:06 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130204 21:12:06 InnoDB: Compressed tables use zlib 1.2.3.4
130204 21:12:06 InnoDB: Initializing buffer pool, size = 128.0M
130204 21:12:06 InnoDB: Completed initialization of buffer pool
130204 21:12:06 InnoDB: highest supported file format is Barracuda.
130204 21:12:06  InnoDB: Waiting for the background threads to start
130204 21:12:07 InnoDB: 1.1.8 started; log sequence number 1595695
130204 21:12:07 [Note] Server hostname (bind-address): '192.168.10.5'; port: 3306
130204 21:12:07 [Note]   - '192.168.10.5' resolves to '192.168.10.5';
130204 21:12:07 [Note] Server socket created on IP: '192.168.10.5'.
130204 21:12:07 [ERROR] Can't start server: Bind on TCP/IP port: Cannot assign requested address
130204 21:12:07 [ERROR] Do you already have another mysqld server running on port: 3306 ?
130204 21:12:07 [ERROR] Aborting

130204 21:12:07  InnoDB: Starting shutdown...
130204 21:12:07  InnoDB: Shutdown completed; log sequence number 1595695
130204 21:12:07 [Note] mysqld: Shutdown complete

ひとまず復旧を目指しているので、192.168.10.5の行を一旦削除してみたところ…

zack@ubuntuServer:/etc/mysql$ sudo chmod 744 my.cnf
zack@ubuntuServer:/etc/mysql$ sudo mysqld
130204 21:14:15 [Note] Plugin 'FEDERATED' is disabled.
130204 21:14:15 InnoDB: The InnoDB memory heap is disabled
130204 21:14:15 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130204 21:14:15 InnoDB: Compressed tables use zlib 1.2.3.4
130204 21:14:15 InnoDB: Initializing buffer pool, size = 128.0M
130204 21:14:15 InnoDB: Completed initialization of buffer pool
130204 21:14:15 InnoDB: highest supported file format is Barracuda.
130204 21:14:15  InnoDB: Waiting for the background threads to start
130204 21:14:16 InnoDB: 1.1.8 started; log sequence number 1595695
130204 21:14:16 [Note] Server hostname (bind-address): '127.0.0.1'; port: 3306
130204 21:14:16 [Note]   - '127.0.0.1' resolves to '127.0.0.1';
130204 21:14:16 [Note] Server socket created on IP: '127.0.0.1'.
130204 21:14:16 [Note] Event Scheduler: Loaded 0 events
130204 21:14:16 [Note] mysqld: ready for connections.
Version: '5.5.29-0ubuntu0.12.04.1'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Ubuntu)

MySQLが無事起動しました!
余計な行を追加した上に、777にしていたのが駄目だったようです。
ありがとうございます、助かりました。

オフライン

 

#5 2013-02-04 21:54:39

zack
新しいメンバ
登録日: 2013-02-04

Re: my.cnf を編集したらMySQLが起動できなくなってしまいました。(start: Job failed to start)

ItSANgoさんからパーミッションについて教えていただいたおかげて、復旧することができたので、
あらためて192.168.10.5からの接続に挑戦したいのですが、2行書いただけでは駄目なのでしょうか。

bind-address = 127.0.0.1
bind-address = 192.168.10.5

自身でもgoogleなどで調べているのですが、なかなか見つけれらずにいます。

オフライン

 

#6 2013-02-04 22:10:04

ItSANgo
メンバ
登録日: 2012-07-08

Re: my.cnf を編集したらMySQLが起動できなくなってしまいました。(start: Job failed to start)

zack による投稿:

ItSANgoさんからパーミッションについて教えていただいたおかげて、復旧することができたので、
あらためて192.168.10.5からの接続に挑戦したいのですが、2行書いただけでは駄目なのでしょうか。

bind-address = 127.0.0.1
bind-address = 192.168.10.5

自身でもgoogleなどで調べているのですが、なかなか見つけれらずにいます。

素朴な疑問ですが、192.168.10.5はそのサーバーのIPアドレスになっているでしょうか?
ifconfigで確認していただけますか?

オフライン

 

#7 2013-02-04 23:31:07

zack
新しいメンバ
登録日: 2013-02-04

Re: my.cnf を編集したらMySQLが起動できなくなってしまいました。(start: Job failed to start)

分かりにくくてすみません。
192.168.10.5はクライアント側のものです。
サーバーのIPは、192.168.10.20です。

オフライン

 

#8 2013-02-05 06:37:11

ItSANgo
メンバ
登録日: 2012-07-08

Re: my.cnf を編集したらMySQLが起動できなくなってしまいました。(start: Job failed to start)

zack による投稿:

192.168.10.5はクライアント側のものです。
サーバーのIPは、192.168.10.20です。

bind-addressはサーバーのIPアドレスを記述する項目です。
ネットワークインターフェイスが複数あるマシンで、どのインターフェイスでlistenするかを指定する項目です。

ではクライアントのIPアドレスを制限するかですが、iptablesを使うか、MySQLのACL機能で制御します。
これらについては私も詳しくないので
http://ameblo.jp/tetsuya-staff/entry-10139707964.html (今メンテナンス中)
http://blog.trippyboy.com/2010/mysql/%E5%A4%96%E9%83%A8%E3%82%B5%E3%83%BC%E3%83%90%E3%81%AEmysql%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%82%92%E8%A9%A6%E3%81%99%E3%81%AE%E5%B7%BB/
などを参照してください。

あとmy.cnfのパーミッションですが744と申しあげましたが、my.cnfに実行権など必要ないので644が正しいですね。
訂正させていただきます。申し訳ありません。

リファレンスマニュアルのページも載せておきます。
http://dev.mysql.com/doc/refman/5.1/ja/index.html

オフライン

 

#9 2013-02-05 21:11:30

zack
新しいメンバ
登録日: 2013-02-04

Re: my.cnf を編集したらMySQLが起動できなくなってしまいました。(start: Job failed to start)

ItSANgoさん、引き続きありがとうございます。

bind-addressはサーバーのIPアドレスを記述する項目です。
ネットワークインターフェイスが複数あるマシンで、どのインターフェイスでlistenするかを指定する項目です。

なるほど、それで起動しなくなってしまったんですね。
てっきり接続できるクライアントのIPアドレスを指定するところだと思っていました。(お恥ずかしい)

クライアントのIPアドレスを制限するかですが、iptablesを使うか、MySQLのACL機能で制御します。
これらについては私も詳しくないので
http://ameblo.jp/tetsuya-staff/entry-10139707964.html (今メンテナンス中)
http://blog.trippyboy.com/2010/mysql/%E5%A4%96%E9%83%A8%E3%82%B5%E3%83%BC%E3%83%90%E3%81%AEmysql%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%82%92%E8%A9%A6%E3%81%99%E3%81%AE%E5%B7%BB/
などを参照してください。

実は。。
http://blog.trippyboy.com/2010/mysql/%E5%A4%96%E9%83%A8%E3%82%B5%E3%83%BC%E3%83%90%E3%81%AEmysql%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%82%92%E8%A9%A6%E3%81%99%E3%81%AE%E5%B7%BB/ を拝見しながら作業していまして、

# 1./etc/my.cnf
# もし、「bind-address」の記述がある場合には、コメントアウトしましょう。
# これは、MySQLサーバに接続できるホストを制限するものです。

という記述の、「接続できるホストを制限するものです」を見て、クライアントを制限できるものと勘違いしていました。

教えていただいたACL機能で制御する方向で検討したいと思います。
今回はさっぱり分からない状況の中、アドバイスをいただき、本当に助かりました。
ありがとうございました。

そして、パーミッションの件、MySQLが起動して満足していましたが、たしかに実行権は必要ないですね。
憶えておきます。ありがとうございます。(もちろん修正もします)

オフライン

 

Board footer

Powered by FluxBB