Nie można znaleźć pliku PID serwera MySQL

16

Mogę dobrze uruchomić MySQL,

/usr/local/mysql/support-files/mysql.server start
Starting MySQL
SUCCESS! 

Ale po każdej akcji MySQL pojawia się błąd:

Nie można znaleźć pliku PID serwera MySQL

/usr/local/mysql/support-files/mysql.server stop
ERROR! MySQL server PID file could not be found!

Gdzie znajdę plik PID serwera na komputerze Mac z systemem OSX 10.8? Zastanawiam się, czy to problem z pozwoleniem. Plik mysql.sock jest dowiązaniem symbolicznym wskazującym plik w katalogu tmp /.

sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
simpleengine
źródło

Odpowiedzi:

12

W pliku konfiguracyjnym mysql - my.cnfsprawdź parametr pid-filei zobacz, gdzie on wskazuje. Jeśli go nie ma, ustaw go ręcznie na -

pid-file    = /var/run/mysqld/mysqld.pid

Utwórz katalog /var/run/mysqld/i nadaj mu odpowiednie uprawnienia -

  mkdir /var/run/mysqld
  touch /var/run/mysqld/mysqld.pid
  chown -R mysql:mysql /var/run/mysqld
Daniel t.
źródło
Okej, próbuję tego. Dam ci znać, jak to jest
simpleengine
Świetnie, jesteś geniuszem. To działa. Jedyną rzeczą, której brakowało, był plik pid linii w my.cnf musiałem uruchomić /usr/local/mysql/support-files/mysql.server dwa razy, aby usunąć błąd
simpleengine
Nie mogę znaleźć pliku pid w my.cnf .. czy mogę dodać ten wiersz pid-file = /var/run/mysqld/mysqld.pid?
mOna
tak, jeśli pojawia się błąd „Nie znaleziono pliku PID”.
Daniel t.
@ Danielt. Dziękuję za odpowiedź. Próbowałem tego, co powiedziałeś ... błąd jest teraz zmianą, ERROR! The server quit without updating PID file (/var/run/mysqld/mysqld.pid).czy masz jakiś pomysł ?! : |
mOna
12

To pytanie jest nieco nieaktualne, ale pomyślałem, że opublikuję, jak rozwiązałem ten problem, gdy przydarzył mi się na komputerze Mac (OS X El Capitan 10.11.4).

Sprawdź status, aby się upewnić

mysql.server status

BŁĄD! MySQL działa, ale nie można znaleźć pliku PID

Znajdź wszystkie uruchomione procesy mysql

ps aux | grep mysql

Spowoduje to wyświetlenie listy wszystkich procesów korzystających z mysql (w tym właśnie wykonanej komendy)

Zabij wszystkie mysql pids

sudo kill <pid1> <pid2> <pid3> ...

To powinno zabić wszystkie procesy mysql

Teraz spróbuj odpalić mysql

mysql.server start

Uruchamianie MySQL. SUKCES!

Mam nadzieję, że to komuś pomoże!

Rockin4Life33
źródło
1
BŁĄD! Serwer zakończył pracę bez aktualizacji pliku PID
Nisanio,
1
@Nisanio Wraz z ERROR! The server quit without updating PID fileczy zawiera odniesienie do pliku .pid? Może coś podobnego doERROR! The server quit without updating PID file (/usr/local/mysql/data/<userName>.<pidFileName>.pid)
Rockin4Life33
1
To działało dla mnie community.jaspersoft.com/wiki/uninstall-mysql-mac-os-x . Musiałem zaparzyć odinstalowanie mysql, następnie usunąć WSZYSTKIE pliki, a następnie ponownie zainstalować i postępować zgodnie z instrukcjami instalacji domowego zaparzania
Daniel Tate
@DanielTate Dziękujemy za dodanie tego w / link. Powinien być pomocny dla innych!
Rockin4Life33
1
ps aux | grep [m]ysqlpomoże zapobiec samemu
grepowi
0

Podstawowym problemem jest prawdopodobnie zmiana nazwy hosta i jeśli nie określisz pliku pid w pliku my.cnf, użyje .pid jako pliku. Jeśli mam swojego MacBooka w domu, zobaczę jedną nazwę hosta, ale gdy obudzi się w sieci firmowej, zobaczy na końcu tę samą nazwę z „.local”.

Geoff Coleman
źródło