MySQL sock for remote server: различия между версиями
		
		
		
		
		
		Перейти к навигации
		Перейти к поиску
		
				
		
		
	
Sol (обсуждение | вклад)  (Новая страница: «Категория:DB Для эмуляции локального сокета можно использовать ''socat'' <syntaxhighlight lang="bash"> yu…»)  | 
				Sol (обсуждение | вклад)   | 
				||
| Строка 1: | Строка 1: | ||
[[Категория:DB]]  | [[Категория:DB]]  | ||
| + | == Общее свединья ==  | ||
Для эмуляции локального сокета можно использовать ''socat''  | Для эмуляции локального сокета можно использовать ''socat''  | ||
<syntaxhighlight lang="bash">  | <syntaxhighlight lang="bash">  | ||
| Строка 14: | Строка 15: | ||
Применимо для эмуляции любых сокетов.  | Применимо для эмуляции любых сокетов.  | ||
| − | + | === Скрипт ===  | |
<syntaxhighlight lang="bash">  | <syntaxhighlight lang="bash">  | ||
#! /bin/sh  | #! /bin/sh  | ||
| Строка 20: | Строка 21: | ||
echo -e "\n do\n\tchmod o+rw /var/lib/mysql/mysql.sock"  | 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  | socat UNIX-LISTEN:/var/lib/mysql/mysql.sock,reuseaddr,fork TCP-CONNECT:127.0.0.1:3306  | ||
| + | </syntaxhighlight>  | ||
| + | |||
| + | === Systemd service ===  | ||
| + | <syntaxhighlight lang="bash">  | ||
| + | $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  | ||
</syntaxhighlight>  | </syntaxhighlight>  | ||
Текущая версия на 17:04, 16 марта 2018
Общее свединья
Для эмуляции локального сокета можно использовать 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