Úvod
Uživatelé pracující s MySQL mohou narazit na chybu 'Nelze se připojit k místnímu serveru MySQL přes soket '/var/run/mysqld/mysqld.sock (2)' při přihlášení do rozhraní MySQL. Tento problém obvykle nastává, pokud MySQL nemůže získat přístup k mysqld.sock soketu.
V tomto tutoriálu si projdeme možné příčiny „Nelze se připojit k místnímu serveru MySQL přes soket ' a ukáže vám různé metody řešení tohoto problému.

Předpoklady
- Systém se systémem Ubuntu 20.04
- Uživatelský účet s právy sudo
- Přístup do okna terminálu/příkazového řádku
- Kopie MySQL nainstalovaná a připravená k použití (jak ji nainstalovat se dozvíte v našem průvodci instalací MySQL na Ubuntu 20.04)
Řešení chyby „Nelze se připojit k místnímu serveru MySQL přes soket „/var/run/mysqld/mysqld.sock“ (2)
Existuje několik způsobů, jak vyřešit „Nelze se připojit k místnímu serveru MySQL přes soket '/var/run/mysqld/mysqld.sock (2)“ chyba. Pokud jedno řešení nefunguje, přejděte v seznamu dolů, dokud nenajdete řešení, které problém vyřeší.
Metoda 1:Zkontrolujte službu MySQL
1. Zkontrolujte stav služby MySQL pomocí:
sudo systemctl status mysql

2. Pokud služba neběží, restartujte ji pomocí:
sudo systemctl start mysql
3. Chcete-li předejít tomuto problému, nastavte službu MySQL tak, aby se automaticky spouštěla při startu:
sudo systemctl enable mysql

Metoda 2:Ověřte umístění mysqld.sock
'Nelze se připojit k místnímu serveru MySQL přes soket '/var/run/mysqld/mysqld.sock' (2)' k chybě dojde také v případě, že MySQL nemůže najít mysql.sock soketu.
1. Najděte aktuální mysqld.sock umístění pomocí find
příkaz k zobrazení seznamu všech soketových souborů ve vašem systému:
sudo find / -type s

2. Otevřete konfigurační soubor MySQL v textovém editoru dle vašeho výběru. V tomto příkladu používáme nano :
sudo nano /etc/mysql/my.cnf
3. Poté přidejte na konec konfiguračního souboru MySQL následující řádky:
[mysqld]
socket=[path to mysqld.sock]
[client]
socket=[path to mysqld.sock]
Kde:
[path to mysqld.sock]
:Cesta k mysqld.sock socket soubor, který jste našli v kroku 1 .

Další metodou je vytvoření symbolického odkazu z umístění mysqld.sock do /var/run/mysqld adresář:
ln -s [path to mysqld.sock] /var/run/mysqld/mysqld.sock
4. Stiskněte Ctrl+X zavřete konfigurační soubor a zadejte Y a stiskněte Enter uložte provedené změny.
4. Nakonec restartujte službu MySQL:
sudo systemctl restart mysql
Metoda 3:Zkontrolujte oprávnění složky MySQL
Další potenciální příčinou může být, že služba MySQL nemá přístup k /var/run/mysqld adresář kvůli omezením oprávnění:
1. Chcete-li tento problém vyřešit, změňte nastavení oprávnění pro mysqld adresář s:
sudo chmod -R 755 /var/run/mysqld
Nastavení oprávnění na 755
umožňuje uživateli root číst, zapisovat a spouštět adresář, zatímco ostatní uživatelé mohou pouze číst a spouštět.
2. Restartujte službu MySQL, aby se změny projevily:
sudo systemctl restart mysql
Metoda 4:Kontrola více instancí MySQL
K chybě také dochází, pokud současně běží více instancí MySQL.
1. Chcete-li vypsat všechny instance MySQL, použijte:
ps -A|grep mysqld

2. Pokud je spuštěno více instancí MySQL, ukončete je pomocí:
sudo pkill mysqld
3. Restartováním služby MySQL spustíte jednu instanci MySQL:
sudo systemctl restart mysql
-
chyba:'Nelze se připojit k místnímu serveru MySQL přes soket '/var/run/mysqld/mysqld.sock' (2)' -- Chybí /var/run/mysqld/mysqld.sock
-
Django static_root v /var/www/... - žádná oprávnění ke collectstatic
-
NGINX:connect() to unix:/var/run/php7.0-fpm.sock se nezdařilo (2:Žádný takový soubor nebo adresář)