У меня есть несколько экземпляров MySQL, работающих на OSX 10.10. /usr/local/mysql/bin/mysqld stop выдает кучу предупреждений и ошибок, я не уверен, стоит ли им делиться. Вот первая ошибка 16164 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. Запуск mysql_upgrade завершается неудачно.

Запуск ps aux | grep mysql приводит к:

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

Я пытался уничтожить процессы sudo kill -15 16179 15599 15514 , но мой pid пользовательского процесса изменился. kill: 16179: No such process . Если я сделаю ps aux | grep mysql постоянно повторяет pid первого процесса, принадлежащего Клейтону, каждый раз на 10.

Итак, затем я попытался выгрузить mysql, используя launchctl unload /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist и launchctl unload /Library/LaunchDaemons/com.mysql.mysql.plist результат в Could not find specified service .

Тьфу. Я определенно озадачен и не уверен, как поступить. Какие-либо предложения?

2 ответа2

0

Вероятно, этот процесс появляется каждый раз, когда вы пытаетесь его убить.

Вы всегда можете попробовать использовать pgrep и убить их за один раз, например:

kill $(pgrep mysql)

Но я думаю, что решение было бы найти источник, где он будет перезапускаться каждый раз, поэтому попробуйте проверить список запущенных / системных демонов с помощью launchctl:

sudo launchctl list

Затем выгрузите, как описано в разделе : Как остановить MySQL на Mac OS?

Если у вас проблема с:

[ОШИБКА] Не удается открыть таблицу mysql.plugin.

возможно, вы используете его неправильно, не указав правильные каталоги данных mysql. Поэтому, возможно, стоит загрузить их снова через launchctl , проверить, как они выполнялись ранее, или найти файл конфигурации и дважды проверить конфигурацию, или у вас неправильные настройки разрешений .

Вот пример синтаксиса, как вы можете запустить его вручную:

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

При использовании MAMP параметры командной строки выглядят так:

/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 
0

Первая строка, которую вы видите, это ps aux | Команда ps aux | grep mysql которую вы выполняете (повторно) каждый раз, так что не о чем беспокоиться.

Вы должны иметь возможность убивать процесс mysql по имени, если вы используете sudo pkill mysql .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .