Vyřešeno: mysqld_safe Adresář '/var/run/mysqld' pro soubor soketu UNIX neexistuje.

Při práci s MySQL je častým problémem, se kterým se vývojáři často setkávají, chybová zpráva „mysqld_safe Directory '/var/run/mysqld' for UNIX socket file neexistuje“. To může být problematické zejména tehdy, když vaše rutinní úkoly silně závisí na tomto široce používaném systému správy relačních databází s otevřeným zdrojovým kódem. Tato chyba obvykle naznačuje, že je problém s adresářem, kde MySQL ukládá svůj soketový soubor. Zde se ponoříme do toho, jak lze tento problém vyřešit, rozebereme řešení krok za krokem a prozkoumáme některé funkce a knihovny, které přicházejí do hry.

Proč k tomuto problému dochází? Problém nastává, když server MySQL nemůže najít adresář /var/run/mysqld. Toto je obecně místo, kde MySQL uchovává svůj soubor soketu UNIX, což je klíčové pro místní připojení. Pokud z nějakého důvodu tento adresář chybí, pak MySQL nefunguje tak, jak bylo zamýšleno.

systemctl start mysql

K této chybě dochází, když se pokusíte spustit server MySQL pomocí výše uvedeného příkazu. Důvodem tohoto problému je absence adresáře /var/run/mysqld.

Řešení

Řešení tohoto problému je poměrně jednoduché. Vše, co musíte udělat, je vytvořit adresář, kam chce MySQL uložit soubor soketu. Přesně to udělají následující příkazy:

mkdir -p /var/run/mysqld
chown mysql:mysql /var/run/mysqld

První řádek používá příkaz 'mkdir -p' k vytvoření adresáře /var/run/mysqld. Volba '-p' říká systému, aby podle potřeby vytvořil nadřazené adresáře.

Druhý řádek 'chown mysql:mysql /var/run/mysqld' změní vlastníka a skupinu adresáře /var/run/mysqld na mysql, což je uživatel a skupina, pod kterou běží MySQL server.

Pochopení kódu SQL

Abyste řešení porozuměli a implementovali jej, musíte být obeznámeni s použitými funkcemi a jejich vzájemným působením. Zde je podrobně vysvětlíme.

  • mkdir: Tento příkaz, jak je uvedeno výše, znamená „vytvořit adresář“. Slouží k vytvoření adresáře. Volba '-p' v příkazu znamená, že podle potřeby vytvoří také všechny nadřazené adresáře. Pokud například '/var/run/' neexistuje, bude také vytvořen.
  • chown: Tento příkaz znamená „změnit vlastníka“. Slouží ke změně vlastníka a skupiny souboru nebo adresáře. 'mysql:mysql' znamená, že server by měl změnit vlastníka na uživatele 'mysql' a skupinu na 'mysql' pro adresář '/var/run/mysqld'.

Zapojené knihovny a funkce

1. Server MySQL: Server MySQL je ústředním bodem této diskuse, protože se problém točí kolem něj. Ke zpracování místních připojení používá soubor soketu UNIX, uložený v /var/run/mysqld.

2. UNIX/LINUX: Také se zde zabýváme příkazy UNIX. Toto jsou základní součásti jakéhokoli systému LINUX a pomáhají při vytváření adresářů a přidělování oprávnění na serveru.

Pochopením základní příčiny této chyby a příkazů použitých k jejímu odstranění můžete snadno zajistit hladký provoz vašich serverů MySQL. Pokud se v budoucnu setkáte s podobnými chybami, bude proces odstraňování problémů mnohem jednodušší a méně skličující.

Související příspěvky:

Zanechat komentář