Як зупинити MySQL під час встановлення Mac OS?


187

Я встановив MySQL через MacPorts . Яка команда мені потрібна для зупинки сервера (мені потрібно перевірити, як поводиться моя програма, коли MySQL мертвий)?

Відповіді:


377

Існують різні випадки залежно від того, встановили ви MySQL з офіційним бінарним інсталятором, використовуючи MacPorts або використовуєте Homebrew :

Домашнє пиво

brew services start mysql
brew services stop mysql
brew services restart mysql

MacPorts

sudo port load mysql57-server
sudo port unload mysql57-server

Примітка. Це зберігається після перезавантаження.

Бінарний інсталятор

sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart

Дякую тонну - у мене були команди зупинки та запуску, але не знав про / думав про спробу перезапустити. Після використання команди stop, запуск нічого не зробить, як і на панелі налаштувань MySQL.
Росс Хендерсон

4
У моєму випадку це було дещо інакше, тому що номер файлу версії mysql був доданий у файл плисту. Було так: sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql5.plist sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist
d1rk

1
І для мене /opt/local/etc/LaunchDaemons/org.macports.mysql5/org.macports.mysql5.plist
Дмитро

10
А для домашнього пива:launchctl (un)load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Костас

2
Якщо у вас встановлені послуги Homebrew , ви можете використовувати brew services stop mysqlта brew services start mysql. (Також restart, і runпочинається лише для поточного сеансу.)
розмірковує

138

Для тих, хто використовував домашню мову для встановлення MySQL, використовуйте наступні команди нижче, щоб запустити, зупинити або перезапустити MySQL

Заварити старт

/usr/local/bin/mysql.server start

Перезапуск варіння

/usr/local/bin/mysql.server restart

Заварюйте стоп

/usr/local/bin/mysql.server stop

4
Для мене каталог встановлення від homebrew/usr/local/Cellar/mysql@5.7/5.7.23/bin/
Moobie

68

Ви завжди можете використовувати команду "mysqladmin shutdown"


1
Наведені вище команди не працювали для мене. Цей і зробив. Не впевнений, у чому різниця в моїх налаштуваннях, але дякую.
Марко

2
Незважаючи на те, що це може спрацювати, якщо ви використовуєте MacPorts і запускаєте це, startctl не зрозуміє, що mysql зупинився і скаржиться, якщо ви спробуєте його запустити (завантажити). Таким чином, використання запускуctctl є кращим.
лямбшанксі

1
Також, хоча це працює для вимкнення сервера, він не зробить нічого, щоб допомогти вам відновити його, коли ви хочете перезапустити його.
aroth

3
Не забудьте додати -p та ввести свій пароль root mysql, коли буде запропоновано. У моїй установці, де mysql встановлений за допомогою MacPorts, mysql перезапустився і перезавантажив конфігурацію, яка була ціллю для моєї дії.
Jesper Grann Laursen

sudo /opt/local/lib/mysql56/bin/mysqladmin shutdownякщо ваш mysql походить від MacPorts
Ален

51

Якщо ви використовуєте, homebrewви можете використовувати

brew services restart mysql
brew services start mysql
brew services stop mysql

для переліку доступних послуг

brew services list

2
Це працювало для мене, навіть після взаємодії з startctl безпосередньо не робило. Дякую!
Лінді Саймон

19

sudo /usr/local/mysql/support-files/mysql.server зупинка


2
+1 це було лише те, що працювало для мене --- я просто використовував інсталятор DMG від Mysql. Спасибі
Долан Антенуччі

15

sudo /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper stop

Тут також можна використовувати пуск і перезапуск. Я виявив це, переглянувши вміст /Library/LaunchDaemons/org.macports.mysql.plist.


1
Це так, як ви повинні це зробити. Для MacPorts .. launchctlМетод НЕ працює, і насправді може спричинити проблеми зі збиванням та стогоном запуску PID / DB.
Алекс Сірий


11

Спробуйте

sudo <path to mysql>/support-files/mysql.server start
sudo <path to mysql>/support-files/mysql.server stop

Ще спробуйте:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop<br>
sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart

Однак я виявив, що другий варіант працює (OS X 10.6, MySQL 5.1.50), лише якщо .plist був завантажений:

sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysqld.plist

PS: Я також виявив, що мені потрібно розвантажити .plist, щоб отримати непов'язану установку MAMP -MySQL, щоб правильно / запустити / зупинити. Після запуску цього запуску MAMP-MySQL починається чудово:

sudo launchctl unload -w /Library/LaunchDaemons/com.mysql.mysqld.plist


7

На моєму mac osx yosemite 10.10. Ця команда працювала:

sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist
sudo launchctl unload -w /Library/LaunchDaemons/com.mysql.mysql.plist

Ви можете знайти свій файл mysql у папці / Бібліотека / LaunchDaemons /, яку потрібно запустити


2
Це єдиний спосіб, який працював на мене. Для будь-яких інших методів mysqldпроцес відновлюється відразу після зупинки.
Rockallite

Це єдиний спосіб, який працював і для мене. Я перейшов з домашньої кави на DMG, що постачається MySQL, і я думаю, що можливо, варильна версія все ще працювала, хоча я її видалив.
Сем Крічлі

5

Використання:

sudo mysqladmin shutdown --user=*user* --password=*password*

Можливо, можна було б уникнути, якщо не використовувати судо . Користувач може бути, наприклад корінь (тобто, корінь користувача MySQL).


4

Ну, якщо все інше не вдасться, ви можете просто скористатися нещадним підходом і вбити процес, що працює під управлінням MySQL вручну.

Це є,

ps -Af

щоб перелічити всі процеси, виконайте " kill <pid>", де <pid>ідентифікатор процесу демона MySQL (mysqld).


так .. цей найкращий і універсальний для сценаріїв. Як ви вважаєте, чи є можливість корупції даних? чи будь-які інші проблеми?
user425720

1
Це має потенціал для корупції даних.
Ден Сандленд

Але як останнє зусилля канави, це достатньо.
Ден Сандленд

4

Останній OSX (10.8) і mysql 5.6, файл знаходиться під запуском демонів і є com.oracle.oss.mysql.mysqld.plist. Він представлений у розділі Параметри системи, як правило, внизу списку. Тому перейдіть до системних налаштувань, натисніть на Mysql і вимкніть його з поля опцій. https://dev.mysql.com/doc/refman/5.6/uk/osx-installation-launchd.html


2

Для мене це робота з "mysql5"

sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql5.plist
sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist

2

У моєму випадку він продовжував перезапуск, як тільки я вбив процес за допомогою PID. Також brew stopкоманда не працювала, як я встановив, не використовуючи homebrew. Тоді я перейшов до системних налаштувань mac і у нас там встановлений MySQL. Просто відкрийте його і зупиніть сервер MySQL, і ви закінчите. Тут на скріншоті ви можете знайти MySQL внизу системних налаштувань.введіть тут опис зображення



0

Я встановив mysql5 та mysql55 над макпортами. Для мене згадані файли тут розташовані в таких місцях:

(mysql55-сервер) /opt/local/etc/LaunchDaemons/org.macports.mysql55-server/org.macports.mysql55-server.plist

(mysql5) /opt/local/etc/LaunchDaemons/org.macports.mysql5/org.macports.mysql5.plist

Тож зупиняючись на цих роботах так:

mysql55-сервер:

sudo launchctl unload -w /opt/local/etc/LaunchDaemons/org.macports.mysql55-server/org.macports.mysql55-server.plist

mysql5:

sudo launchctl unload -w /opt/local/etc/LaunchDaemons/org.macports.mysql5/org.macports.mysql5.plist 

Ви можете перевірити, чи все ще працює служба:

ps ax | grep mysql

Далі ви можете перевірити файли журналів у моєму випадку тут:

mysql55-сервер

sudo tail -n 100 /opt/local/var/db/mysql55/<MyName>-MacBook-Pro.local.err
...
130213 08:56:41 mysqld_safe mysqld from pid file /opt/local/var/db/mysql55/<MyName>-MacBook-Pro.local.pid ended

mysql5:

sudo tail -n 100 /opt/local/var/db/mysql5/<MyName>-MacBook-Pro.local.err
...
130213 09:23:57  mysqld ended

0

Якщо ви встановили пакет MySQL 5 з MacPorts:

sudo launchctl  unload -w /Library/LaunchDaemons/org.macports.mysql.plist 

Або

sudo launchctl  unload -w /Library/LaunchDaemons/org.macports.mysql5-devel.plist 

якщо ви встановили mysql5-develпакет.


1
Це не дозволить йому запуститись при перезавантаженні, чого не вимагав плакат.
Меттью Шинкель

0

mysql> показує змінні, де змінна_назви на зразок '% dir%';

| datadir | / opt / local / var / db / mysql5 / |


0

Після того, як спробуйте всі ці командні лінії, і це не працює. Я повинен виконати наступні речі:

mv /usr/local/Cellar/mysql/5.7.16/bin/mysqld /usr/local/Cellar/mysql/5.7.16/bin/mysqld.bak
mysql.server stop

Таким чином працює, процес mysqld пішов. але в /var/log/system.log є багато сміття:

Jul  9 14:10:54 xxx com.apple.xpc.launchd[1] (homebrew.mxcl.mysql[78049]): Service exited with abnormal code: 1
Jul  9 14:10:54 xxx com.apple.xpc.launchd[1] (homebrew.mxcl.mysql): Service only ran for 0 seconds. Pushing respawn out by 10 seconds.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.