質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

Q&A

解決済

2回答

795閲覧

【MySQL】ERROR 2002 急にWebサーバ側からDBサーバのMySQLに接続できなくなった

pecchan

総合スコア555

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

0グッド

1クリップ

投稿2019/03/06 04:15

編集2019/03/06 06:02

お世話になっております。

【Webサーバ】
CentOS7
Apache 2.4.6

【DBサーバ】
CentOS7
mariadb 5.5.52

上記サーバは別々の計2台になります。
たまにWebサーバ側からDBサーバのダンプファイルを取得してます。
最初、いつも通りに取得できましたが2回目以降、Webサーバ側からDBサーバ上のMySQLへ接続できなくなりました。

エラー内容
イメージ説明

DBサーバ上のMySQLのプロセス、サービスは起動しており、
Webシステムも正常に起動しております。

Webサーバ、DBサーバともに再起動しましたが変わらずです。

エラー内容から検索すると、
「mysql.sock」が何らかの理由により存在しないと発生するようです。
【MySQL】ERROR 2002の対処法
[2002] MySQLのソケットエラー の原因と対処法

そこでDBサーバ上のmysql.sockを確認すると、ありました。
イメージ説明

mysql.sockは、DBサーバ側だけでなく、Webサーバ側にも必要なのでしょうか?

そもそも別な要因が考えられるでしょうか?

分かる方宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

Web サーバーと MySQL のサーバーは、別々のホストで稼働させている状況ですか?

そうであれば、 Web サーバーで MySQL は稼働していないので、Web サーバーで mysql -u root のコマンドを実行すると、MySQLに接続できないため、

ERROR 2002 (HY000): Can't connect to local MySQL server through socket`

のエラーが出るのは当然と思います。( -h でホスト名を指定していない場合、mysqlコマンドを実行したホストに接続に行きます。 )

別のサーバーで稼働している場合は、普通 mysql -u root -h ホスト名orIPアドレス のように -h で接続先の MySQL サーバーのホスト名を指定して接続することになると思うのですが、-h オプションを付け忘れているということはありませんか?

投稿2019/03/06 05:39

編集2019/03/06 06:30
CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pecchan

2019/03/06 06:09 編集

CHERRY様 有難う御座います。 記載不足すみません。はい。別々のホストで稼働しております。 エラーの原因、なるほど!当然ですね。 お恥ずかしい限りです・・・orz 教えていただいたコマンドですが、 「Access denied for user 'root'@'ipアドレス'」 となりましたが、当初の質問とズレてくるためこれにて解決とさせていただきます。 有難う御座いました。
CHERRY

2019/03/06 06:32 編集

> 「Access denied for user 'root'@'ipアドレス'」 アクセス権のエラーですね。 Web サーバと MySQL サーバで、どのような設定をしているかわからないのですが、もしかして、ssh 等で、WebサーバからMySQLサーバへポート転送の設定をしているとかありますか? あとは、外部から MySQL にアクセスできる ユーザーを root 以外になっているとか...
pecchan

2019/03/12 00:52 編集

CHERRY様 ご親切に有難う御座います。 詳しくないのですが、元々何も設定を行っていないのかもしれません。。。 WebサーバからはSCPコマンドでdumpをコピーしていただけでした。
guest

0

【Mysql、PHP】mysql.sockが消えてしまうが参考になるかと思います。

ディスク容量を圧迫したりすると、ソケット以前に接続しないようです(エラーコード2002はソケットがなくて接続できないのではなく、単に接続できないというエラーなので)。ダンプファイルを取得しすぎて、ディスク容量圧迫してないでしょうか?

投稿2019/03/06 05:10

FKM

総合スコア3633

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pecchan

2019/03/06 05:25

FKM様 有難う御座います。 その認識はございませんでした。 早速確認したところ、 DBサーバは16%使用中、 WEBサーバは64%使用中でした。 今のところ特に圧迫はしてないと考えて良いでしょうか。。。 参考URLをじっくり読ませていただきます!有難う御座います。
pecchan

2019/03/06 06:14

原因・・・。お恥ずかしい限りです。 圧迫の情報は、今後も役に立ちそうです。 有難う御座いました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問