MySQL connection through UNIX socket #693
Open
+12
−8
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why
現在 EPGStation では MySQL や MariaDB を使う場合に TCP による接続方法しか指定することができませんが、docker-mirakurun-epgstation がそうであるように、EPGStation と DB は同じマシン上で走らせることが多いように思われます。
その様なユースケース、データベースとアプリケーションを同一のマシン上でホストする場合、TCP による接続よりも UNIX ドメインソケットによる接続の方が高速であることが知られています。 https://www.percona.com/blog/need-to-connect-to-a-local-mysql-server-use-unix-domain-socket/
概要(Summary)
MySQL または MariaDB を EPGStation の DB として使う場合に、TCP 接続のアドレスとポートを指定する代わりにUNIXドメインソケットのパス
socketPath
を指定することもできるようにします。実装としては、EPGStation で使われている mysql パッケージではコネクション時に
socketPath
を指定すれば UNIX ドメインソケットによって接続を行うため、コンフィグの値をそちらに引き回しています。https://www.npmjs.com/package/mysql#connection-options動作確認
MariaDB 10.5.25 により行いました。