sql >> Databáze >  >> RDS >> Mysql

Velmi perzistentní /opt/lampp/bin/mysql.server:264:kill:Žádný takový proces. Xampp/ubuntu 16.04

Jde tedy o velmi komplikovaný problém.

Protože z toho, co jste popsal (velmi podrobně), stále existuje mnoho možných příčin tohoto problému.

OTÁZKA: Takže zde jsou některé otázky shrnuté pro vaši (z mé zkušenosti):

  1. Nefunguje vaše MySQL not running? došlo během vašeho prvního spuštění (xampp start / xampp startmysql)?
  2. Po instalaci xampp v Linuxu jste přizpůsobili konfiguraci MySQL (výchozí etc/my.cnf)?
  3. POKUD JE PŘIZPŮSOBENO Přizpůsobili jste svůj adresář databáze do jiného umístění (výchozí /opt/lampp/var/mysql)?
  4. POKUD NENÍ PŘIZPŮSOBENO Jak jste uvedl, máte přístup k příkazovému řádku mysql, zkusili jste SQL databázi, nebo pokud databáze nebyla ani přístupná (což znamená, že mysql server, pojmenovaný jako mysqld, se nespustil správně)?
  5. Osobně jste inicializovali/nainstalovali databázi mysql (výchozí bin/mysql_install_db)? Dobře, tyto výše uvedené otázky by měly poskytnout základní nápad na řešení problémů.

ŘEŠENÍ:

1. problém s protokolem chyb

Toto by tedy měl být ten nejjednodušší problém a mohl by nám pomoci lépe identifikovat příčiny chyb.

Zkontrolujte

a) v konfiguraci MySQL (my.cnf) jaký je váš běžící uživatel? toto by měl být parametr pod [mysqld] user=... (výchozí mysql), předpokládáme, že naše konfigurace je nastavena na mysql

b) máte účet pro spouštění uživatelského try terminálového příkazu id -u mysql , pokud vrátí ID číslo, pak účet existuje, jinak by vám měl sdělit no such user . Musíte mít tohoto uživatele, aby mohl spouštět mysql server a zapisovat chybový protokol (podíváte-li se na druhou část vašeho záznamu terminálu, váš účet by měl existovat)

c) zkontrolujte umístění chybového protokolu konfigurace MySQL (my.cnf), měl by být pod [mysqld] jako parametr log-error=... pokud toto není zapsáno, přidejte jej (musí být pod [mysqld]).

d) zkontrolujte každý adresář vaší úplné cesty protokolu (například /var/log/mysql/error.log)

  • /var by měl mít read a execute oprávnění pro uživatele mysql (což je alespoň ******r-x) oprávnění vytvořit soubor (spustit)
  • /var/log by měl mít read a execute oprávnění pro uživatele mysql (což je alespoň ******r-x) oprávnění vytvořit soubor (spustit)
  • /var/log/mysql by měl mít read , write a execute oprávnění pro uživatele mysql (což je ******rwx) vytvářet a zapisovat oprávnění k souboru

Aby zde mohl být vytvořen váš soubor error.log, pokud stále nefunguje, zkuste jej vytvořit ručně s vlastníkem jako mysql, skupinou jako mysql a autoritou 660.

2. Stav běhu serveru MySQL

existuje několik způsobů, jak to zkontrolovat

a) použijte mysql.server (výchozí bin/mysql.server) k provedení mysql.server status příkaz. Pokud váš MySQL server běží, měl by ukazovat ÚSPĚCH! MariaDB běží.

b) použijte top příkaz pro kontrolu, zda služba běží, nebo použijte top | grep "mysqld" . mysqld a mysqld_safe měl by tam být.

c) přihlaste se do příkazového řádku mysql stejně jako v záznamu terminálu 4 (tato pracovní část) a proveďte příkaz SHOW DATABASES; to by také mělo fungovat.

3. Přizpůsobené umístění databáze způsobuje, že Xampp mysql neběží stav Toto je mnohem hlubší problém, protože jsem potvrdil, že MySQL server běží správně.

Udělal jsem

[[email protected] ~]# /opt/lampp/xampp status
Version: XAMPP for Linux 7.4.1
Apache is running.
MySQL is not running.
ProFTPD is running.
[[email protected] ~]# /opt/lampp/bin/mysql.server status
SUCCESS! MariaDB running (xxxx)

Takže to ukazuje, že xampp načítá stav služby nesprávně (jako jiný příspěvek Databáze MySQL se spouští na terminálu, ale ne na XAMPP )

Mohl bych podrobně vysledovat, jak xampp funguje, ale v /opt/lampp/xampp soubor skriptu, našel jsem /opt/lampp/share/xampp/status a /opt/lampp/share/statusraw

Jděte dále (jak /opt/lampp/share/xampp/status a /opt/lampp/share/statusraw soubor),

 /opt/lampp/var/mysql/` /bin/hostname`.pid mysqld

Protože moje databáze byla přizpůsobena lokalizovanému adresáři, znamená to, že soubor pid nebude v /opt/lampp/var/mysql a tento stav se vždy vrátí nesprávně.

Takže změna tohoto na mé vlastní umístění databáze pid problém vyřešila.



  1. Kdy mám zavřít DatabaseHelper?

  2. Podpora výkonu v nastavení hybridního cloudu

  3. Převeďte datum ve formátu MM/DD/RRRR na datum MySQL

  4. MemoryError pomocí json.dumps()