Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Bardzo trwały /opt/lampp/bin/mysql.server:264:kill:Brak takiego procesu. Xamp/ubuntu 16.04

Jest to więc bardzo skomplikowany problem.

Ponieważ z tego, co opisałeś (bardzo szczegółowo), nadal istnieje wiele możliwych przyczyn tego problemu.

PYTANIE: Oto kilka pytań podsumowanych dla twojego (z mojego doświadczenia):

  1. Czy Twój MySQL not running? wydarzyło się podczas twojego pierwszego uruchomienia (xampp start / xampp startmysql)?
  2. Czy po zainstalowaniu xampp w systemie Linux dostosowałeś konfigurację MySQL (domyślna etc/my.cnf)?
  3. JEŚLI DOSTOSOWANE Czy dostosowałeś katalog bazy danych do innej lokalizacji (domyślnie /opt/lampp/var/mysql)?
  4. JEŚLI NIE DOSTOSOWANE Jak wspomniałeś, masz dostęp do wiersza poleceń mysql, czy próbowałeś SQL do swojej bazy danych, czy też baza danych nie była nawet dostępna (co oznacza, że ​​serwer mysql, nazwany jako mysqld, nie uruchomił się poprawnie)?
  5. Czy osobiście zainicjowałeś/zainstalowałeś bazę danych mysql (domyślnie bin/mysql_install_db)? Ok, powyższe pytania powinny dostarczyć podstawowych pomysłów na rozwiązywanie problemów.

ROZWIĄZANIE:

1. problem z dziennikiem błędów

Więc ten powinien być najprostszym problemem i może pomóc nam lepiej zidentyfikować przyczyny błędów.

Sprawdź

a) w konfiguracji MySQL (my.cnf) jaki jest Twój uruchomiony użytkownik? powinien to być parametr pod [mysqld] user=... (domyślny mysql), zakładamy, że nasza konfiguracja jest ustawiona na mysql

b) czy masz konto do uruchomienia polecenia user try terminal id -u mysql , jeśli zwraca numer identyfikacyjny, oznacza to, że konto istnieje, w przeciwnym razie powinno powiedzieć Ci no such user . Musisz mieć tego użytkownika, aby uruchomić serwer mysql i zapisywać dziennik błędów (patrząc na drugą część rekordu terminala, twoje konto powinno istnieć)

c) sprawdź lokalizację dziennika błędów konfiguracji MySQL (my.cnf), powinna być pod [mysqld] jako parametr log-error=... jeśli nie jest napisane, dodaj do niego (musi być pod [mysqld]).

d) sprawdź każdy katalog w pełnej ścieżce Twojego dziennika, który (na przykład /var/log/mysql/error.log)

  • /var powinien mieć read i execute uprawnienia dla użytkownika mysql (co najmniej ******r-x) przekazanie uprawnienia do tworzenia pliku (wykonywania)
  • /var/log powinien mieć read i execute uprawnienia dla użytkownika mysql (co najmniej ******r-x) przekazanie uprawnienia do tworzenia pliku (wykonywania)
  • /var/log/mysql powinien mieć read , write i execute uprawnienia dla użytkownika mysql (czyli ******rwx) uprawnienia do tworzenia i zapisu plików

Aby Twój plik error.log mógł zostać utworzony tutaj, jeśli nadal nie działa, spróbuj utworzyć go ręcznie z właścicielem jako mysql, zgrupuj jako mysql i uprawnieniami 660.

2. Stan działania serwera MySQL

można to sprawdzić na kilka sposobów

a) użyj mysql.server (domyślnie bin/mysql.server), aby wykonać mysql.server status Komenda. Jeśli Twój serwer MySQL jest uruchomiony, powinien pokazać SUKCES! MariaDB jest uruchomiona.

b) użyj top polecenie, aby sprawdzić, czy usługa jest uruchomiona, lub użyj top | grep "mysqld" . mysqld i mysqld_safe powinien w nim.

c) zaloguj się do wiersza poleceń mysql tak jak w rekordzie terminala 4 (ta część działa) i wykonaj polecenie SHOW DATABASES; to również powinno działać.

3. Dostosowana lokalizacja bazy danych powoduje, że Xampp mysql nie działa Jest to znacznie głębszy problem, ponieważ potwierdziłem, że serwer MySQL działa poprawnie.

zrobiłem

[[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)

To pokazuje, że xampp niepoprawnie pobiera status usługi (jak inny post Baza danych MySQL uruchamia się na terminalu, ale nie na XAMPP )

Mógłbym szczegółowo prześledzić, jak działa xampp, ale w /opt/lampp/xampp plik skryptu, znalazłem /opt/lampp/share/xampp/status i /opt/lampp/share/statusraw

Przejdź dalej (zarówno /opt/lampp/share/xampp/status i /opt/lampp/share/statusraw plik),

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

Ponieważ moja baza danych została dostosowana do zlokalizowanego katalogu, oznacza to, że plik pid nie będzie w /opt/lampp/var/mysql , a ten status zawsze będzie zwracany niepoprawnie.

Więc zmiana tego na moją własną lokalizację pid bazy danych rozwiązała problem.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Co to jest MySQL? – Wprowadzenie do systemów zarządzania bazami danych

  2. Wykrywanie zablokowanych tabel (zablokowanych przez LOCK TABLE)

  3. Wywołanie niezdefiniowanej funkcji mysql_query()

  4. Jak naprawić tabelę InnoDB?

  5. Jak mogę iterować przez zestaw wyników MySQL?