Jak zabić mysql z ruchomym pid

0

Mam wiele instancji mysql działających na OSX 10.10. /usr/local/mysql/bin/mysqld stopwyrzuca mnóstwo ostrzeżeń i błędów, nie jestem pewien, czy warto je udostępnić. Oto pierwszy błąd 16164 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.Uruchomienie mysql_upgrade kończy się niepowodzeniem.

Uruchomienie ps aux | grep mysqlwyników w:

clayton         16179   0.0  0.0  2423356    228 s000  R+   10:58AM   0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn mysql
_mysql          15599   0.0  0.3  3070756  24508   ??  S    10:22AM   0:01.64 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/Beast.local.err --pid-file=/usr/local/mysql/data/Beast.local.pid
root            15514   0.0  0.0  2452828    876   ??  Ss   10:22AM   0:00.02 /bin/sh /usr/local/mysql/bin/mysqld_safe --user=mysql

Próbowałem zabić procesy sudo kill -15 16179 15599 15514, ale mój proces użytkownika zmienił się. kill: 16179: No such process. Jeśli ps aux | grep mysqlpowtarzam wielokrotnie, pid pierwszego procesu, którego właścicielem jest clayton, podskakuje za każdym razem o 10.

Następnie spróbowałem zwolnić mysql za pomocą launchctl unload /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plisti launchctl unload /Library/LaunchDaemons/com.mysql.mysql.plistspowodować Could not find specified service.

Ugh. Jestem zdecydowanie zakłopotany i nie jestem pewien, jak postępować. Jakieś sugestie?

Sopel lodu
źródło

Odpowiedzi:

0

Proces prawdopodobnie odradza się za każdym razem, gdy próbujesz go zabić.

Zawsze możesz spróbować użyć ich pgrepi zabić za jednym razem, np .:

kill $(pgrep mysql)

Myślę jednak, że rozwiązaniem byłoby znalezienie źródła, z którego będzie za każdym razem restartowane, więc spróbuj sprawdzić listę uruchomionych / systemowych demonów, używając launchctl:

sudo launchctl list

Następnie zwolnij, jak opisano w: Jak zatrzymać MySQL na instalacji Mac OS?

Jeśli masz problem z:

[BŁĄD] Nie można otworzyć tabeli mysql.plugin.

prawdopodobnie źle działasz, nie podając właściwych katalogów danych mysql. Może więc warto je załadować ponownie launchctl, sprawdzić, jak były wcześniej uruchamiane, lub zlokalizować plik konfiguracyjny i dokładnie sprawdzić konfigurację, albo masz niewłaściwe ustawienia uprawnień .

Oto przykładowa składnia, w jaki sposób można uruchomić go ręcznie:

mysqld --defaults-file=/etc/mysql/my.cnf --basedir=/var/db/mysql --datadir=/var/db/mysql --plugin-dir=/var/db/mysql/lib/plugin --user=mysql --tmpdir=/tmp/mysql/tmpdir --log-error=/var/log/mysql_error_log.err --pid-file=/tmp/mysql/mysql.pid --socket=/tmp/mysql/mysql.sock --port=3306

Podczas korzystania z MAMP parametry wiersza polecenia wyglądają następująco:

/Applications/MAMP/Library/bin/mysqld --defaults-file=/Applications/MAMP/tmp/mysql/my.cnf --basedir=/Applications/MAMP/Library --datadir=/Library/Application Support/appsolute/MAMP PRO/db/mysql --plugin-dir=/Applications/MAMP/Library/lib/plugin --user=mysql --tmpdir=/Applications/MAMP/tmp/mysql/tmpdir --log-error=/Applications/MAMP/logs/mysql_error_log.err --pid-file=/Applications/MAMP/tmp/mysql/mysql.pid --socket=/Applications/MAMP/tmp/mysql/mysql.sock --port=3306 
kenorb
źródło
0

Pierwszy wiersz, który widzisz, to ps aux | grep mysqlpolecenie, które (ponownie) uruchamiasz za każdym razem, więc nie martw się.

Jeśli używasz, powinieneś być w stanie zabić proces mysql według nazwy sudo pkill mysql.

s1ns3nt
źródło