Як зупинити 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.