Смотрите на SmarterMail SmarterTools:
http://www.smartertools.com/SmarterMail/Pricing.aspx
они должны быть совершенно определенно разделены IMO.
Файл сокета на самом деле не содержит данные, он транспортирует его.. Это - специальный, необычный тип файла, созданного со специальными системными вызовами/командами. Это не обычный файл.
Это похоже на канал, который сервер и клиенты могут использовать для подключения и обмениваться запросами и данными. Кроме того, это только используется локально. Его значение просто как согласованное местоположение рандеву в файловой системе.
Создание простого файла и помещение его в том месте могут на самом деле вмешаться в сервер, создающий его..., и таким образом препятствовать тому, чтобы локальные клиенты соединились с сервером.
Моя рекомендация состоит в том, чтобы удалить любой файл, Вы вставляете местоположение. Специальный файл сокета создается сервером.
Сокет является специальным псевдофайлом, используемым для передачи данных путем чтения и записи, не хранения данных.
Файл сокета создается, когда сервис запущен и удален, когда сервис завершается. Местоположение файла определяется в /etc/my.cnf
как так:
[mysqld]
socket=/var/run/mysql/mysql.sock
I had the same problem with the missing mysqld.sock. I went to the directory that contained mysql, namely /usr/bin
in my case. Then I issued the command
mysql mysql --host=localhost --password=whatever --port=3306
The double mysql is not a typo but rather mysql is a database that will always be there in a new MySQL installation. I do not know if --host
, --password
or --port
are needed but since it worked for me using these parameters I am including them. Once MySQL came up I went into the user table as set the password for root. Once MySQL came up the missing socket file was created. I hope this helps someone since I struggled for days.
Когда вы укажете host = localhost
, клиент mysql попытается войти на сервер mysql, используя именованный канал unix, для которого требуется файл .sock
.
Это можно обойти, указав host = 127.0.0.1. Это заставит клиент mysql использовать TCP для подключения к серверу.
Взято из документации MySQL :
mysql --host=127.0.0.1 --port=3306 --user=your_uname --password=your_pass
В моем случае при запуске mysqld_safe
создается новый файл mysqld.sock
.
$ cd /etc/init.d/
$ mysqld_safe
Вы, вероятно, не получите ответ, но если вы перезапустите сеанс, где-то будет файл mysqld.sock. Найдите его с помощью
$ sudo find / -type s | grep mysqld.sock
Если вы используете nginx php-fastcgi и получили ошибку 502 Bad Gateway .
чем смотреть на конфигурацию вашего виртуального хоста в конфигурационном файле nginx. Вы должны установить или исправить параметр fastcgi_pass
. fastcgi_pass
- это переменная, которая устанавливает соединение сокета между
nginx и php CGI.
Другая проблема в том, что двоичный стартовый скрипт мог бы
пропустил следующие записи(важные), открытые с: nano /usr/bin/php-fastcgi
SOCKET=/var/run/php-fastcgi/php-fastcgi.socket
PIDFILE=/var/run/php-fastcgi/php-fastcgi.pid
Полное содержание моего стартового сценария /usr/bin/php-fastcgi:
#!/bin/bash
FASTCGI_USER=www-data
FASTCGI_GROUP=www-data
SOCKET=/var/run/php-fastcgi/php-fastcgi.socket
PIDFILE=/var/run/php-fastcgi/php-fastcgi.pid
CHILDREN=6
PHP5=/usr/bin/php5-cgi
/usr/bin/spawn-fcgi -s $SOCKET -P $PIDFILE -C $CHILDREN -u $FASTCGI_USER -g $FASTCGI_GROUP -f $PHP5
В моем случае мне пришлось переустановить mysql с помощью: apt install mysql-server-5.7
(пожалуйста, проверьте, прежде чем выполнять текущую версию sql-server), чтобы вернуться mysqld.sock
.