MySQL sock for remote server

Материал из Webko Wiki
Версия от 17:04, 16 марта 2018; Sol (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Общее свединья

Для эмуляции локального сокета можно использовать socat

yum install socat
#or
apt update && apt install socat

Делается это вот так

socat UNIX-LISTEN:/var/lib/mysql/mysql.sock,reuseaddr,fork TCP-CONNECT:127.0.0.1:3306

где вместо 127.0.0.1 можно указать необходимый аддрес удаленного сервера.

Применимо для эмуляции любых сокетов.

Скрипт

#! /bin/sh

echo -e "\n do\n\tchmod o+rw /var/lib/mysql/mysql.sock"
socat UNIX-LISTEN:/var/lib/mysql/mysql.sock,reuseaddr,fork TCP-CONNECT:127.0.0.1:3306

Systemd service

$EDITOR /etc/systemd/system/mysql-sock.service

[Unit]
Description=MySQL local sock emulator

[Service]
After=network.target

Type=simple
ExecStart=/bin/socat UNIX-LISTEN:/var/lib/mysql/mysql.sock,reuseaddr,fork,perm=0666 TCP-CONNECT:192.168.90.12:3306
ExecStartPre=/bin/mkdir -p /var/lib/mysql/
Restart=always

[Install]
WantedBy=multi-user.target