0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

個人的備忘録:MySQLのmysql.sockの基本理解と一般的なエラーの対処法をまとめてみた

Last updated at Posted at 2025-02-28

はじめに

MySQLはデータベース管理システムとして広く使用されており、ローカル環境での効率的な通信方法としてmysql.sock(UNIXソケット)が存在します。

本記事では、mysql.sockの概要や設定方法、トラブルシューティングについて解説します。

書こうと思ったきっかけ

MySQLを使用する際にmysql.sockに関連するエラーに遭遇することが多く、その対処法を調べる機会がありました。

同様の問題に直面する方々の助けになればと思い、この記事を執筆しました。

MySQLのmysql.sockとは?

mysql.sockは、MySQLサーバーとクライアント間の通信に使用されるUNIXソケットファイルです。

これは、ローカル環境でMySQLクライアントとサーバーがより高速かつ効率的に通信できるようにするための仕組みです。

仕組み

通常、MySQLサーバーはTCP/IPを使用してクライアントと通信できますが、同じマシン内で動作している場合は、mysql.sock(UNIXドメインソケット)を使用することで通信のオーバーヘッドを減らし、パフォーマンスを向上させることができます。

設定と確認

ソケットの場所を確認する

デフォルトでは、mysql.sockの場所は環境によって異なります。一般的な場所は以下の通りです。

  • /var/lib/mysql/mysql.sock
  • /tmp/mysql.sock
  • /run/mysqld/mysqld.sock

現在のMySQL設定でのmysql.sockの場所を確認するには、以下のコマンドを実行します。

mysqladmin variables | grep socket

または、MySQLの設定ファイル (/etc/my.cnf/etc/mysql/my.cnf) を確認することで、明示的に設定されているパスを確認できます。

設定の変更

MySQLのソケットファイルの場所を変更したい場合は、設定ファイル (/etc/my.cnf など) を編集し、以下のように修正します。

[mysqld]
socket=/var/lib/mysql/mysql.sock

[client]
socket=/var/lib/mysql/mysql.sock

変更後、MySQLサーバーを再起動する必要があります。

sudo systemctl restart mysqld

mysql.sockに関連するエラーと対処法

1. Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'

このエラーは、mysql.sockが存在しない場合に発生します。MySQLサーバーが起動しているか確認し、起動していない場合は以下のコマンドで起動します。

sudo systemctl start mysqld

また、mysql.sockの場所が異なっている場合、クライアントの接続時に--socketオプションを指定することで解決できる場合があります。

mysql --socket=/run/mysqld/mysqld.sock

2. mysqld.sockが勝手に削除される

一部の環境では、MySQLのソケットファイルがシステムの再起動時に削除されることがあります。その場合、MySQLの設定でソケットファイルの作成場所を/tmp以外に変更することで対策できます。

[mysqld]
socket=/var/lib/mysql/mysql.sock

まとめ

  • mysql.sockはMySQLのローカル通信に使用されるUNIXソケットファイル。
  • mysql.sockを利用すると、TCP/IPよりも高速な通信が可能。
  • mysql.sockの場所は環境によって異なり、設定ファイルで変更可能。
  • ソケット関連のエラーが発生した場合は、サーバーの起動状態や設定を確認する。

MySQLのソケット通信を理解し、適切に設定することで、効率的なデータベース運用が可能になります。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?