запустіть сервер MySQL з командного рядка на Mac OS Lion


162

Я встановив mySQL для свого Mac. Окрім запуску сервера SQL за допомогою інструменту mySQL.prefPane, встановленого в System Preference, я хочу знати інструкцію, щоб почати з командного рядка. Я роблю так:

Після

су корінь

Я запускаю сервер mySQL командним рядком, він створює помилку, як показано нижче:

sh-3.2 # / usr / local / mysql / bin / mysqld

111028 16:57:43 [Попередження] Встановлення нижнього_канального_мення = 2, оскільки файлова система для /usr/local/mysql-5.5.17-osx10.6-x86_64/data/ є нечутливою до регістру

111028 16:57:43 [ПОМИЛКА] Фатальна помилка: Прочитайте розділ "Безпека" в посібнику, щоб дізнатися, як запустити mysqld як root!

111028 16:57:43 [ПОМИЛКА] Аборт

111028 16:57:43 [Примітка] / usr / local / mysql / bin / mysqld: Завершення роботи завершено

Будь ласка, допоможи мені!

Редагувати:

Причина тут: http://dev.mysql.com/doc/refman/5.5/uk/changing-mysql-user.html

Рішення описано у відповіді xdazz нижче.


Дивіться мою
редакцію

1
На macOS використовуйте, mdfind mysql.serverщоб побачити, де виконується ваш сервер
Benjamin Crouzier

Відповіді:


187

Спробуйте /usr/local/mysql/bin/mysqld_safe

Приклад:

shell> sudo /usr/local/mysql/bin/mysqld_safe
(Enter your password, if necessary)
(Press Control-Z)
shell> bg
(Press Control-D or enter "exit" to exit the shell)

Ви також можете додати їх до своїх скриптів запуску bash:

export MYSQL_HOME=/usr/local/mysql
alias start_mysql='sudo $MYSQL_HOME/bin/mysqld_safe &'
alias stop_mysql='sudo $MYSQL_HOME/bin/mysqladmin shutdown'

1
Це працює. Але я не можу вийти з покажчика від виконання команди. Як зупинити це, коли виконується вікно "Термінал".
В'єстон

11
Зауважте, що ця відповідь не застосовується, якщо ви встановили mysql з Homebrew.
cbmanica

Для мене це було лише "mysqld <action>", файл знаходиться за адресою / usr / local / mysql / bin / mysqld
crobicha

233

Просто:

mysql.server start

mysql.server stop

mysql.server restart


1
Дуже дякую! Я прочитав так багато речей, навіть документи - і нічого з цього не працювало для мене, але це зробило це !!!
HolyMoly

6
ось що я отримав для цього:. ERROR! The server quit without updating PID file (/usr/local/var/mysql/XXXX.pid).
nyxee

@nyxee Можливо, вам потрібно буде запустити його sudo!
anuveyatsu

Свята корова. Дякую!
Карл Йохан Валнер

Набагато краще і простіше. Спасибі
Prabhakar Undurthi

135

Мені подобаються псевдоніми ... однак у мене виникли проблеми з MySQLCOM для запуску ... він виходить з ладу ... Моє вирішення подібне до інших ... ~ / .bash_aliases

alias mysqlstart='sudo /usr/local/mysql/support-files/mysql.server start'
alias mysqlstop='sudo /usr/local/mysql/support-files/mysql.server stop' 

Інші відповіді не вдалося встановити на OSX 10.7.5 w / останню версію MySQL. Цей зробив трюк - спасибі!
Irongaze.com

@ Irongaze.com Радий, що можу допомогти.
Едді Б

Дякую!! Я хотів запустити mysql і мати можливість закрити термінал, і це спрацювало. Яка різниця між цим способом його запуску та способом mysqld_safe?
oli206

1
Від mysqld_safe vs mysql.server Перш ніж mysql.server запустить сервер, він змінює розташування до каталогу установки MySQL, а потім викликає mysqld_safe.
Едді Б

Відмінна відповідь! Простий і ефективний.
Старкерс

84

Як зазначено в цій корисній статті: В OS X для запуску / зупинки MySQL з командного рядка:

sudo /usr/local/mysql/support-files/mysql.server start 
sudo /usr/local/mysql/support-files/mysql.server stop 

Під час запуску / зупинки Linux з командного рядка:

/etc/init.d/mysqld start 
/etc/init.d/mysqld stop 
/etc/init.d/mysqld restart 

Деякі аромати Linux також пропонують команду обслуговування

# service mysqld start 
# service mysqld stop 
# service mysqld restart

або

 # service mysql start 
 # service mysql stop 
 # service mysql restart 

немає такого файлу чи каталогу з/usr/local/mysql/support-files/mysql.server stop
nyxee

71

Якщо ви встановили його з домашньою мовою, двійковий файл буде десь схожим

/usr/local/Cellar/mysql/5.6.10/bin/mysqld

а це означає, що ви можете почати це

/usr/local/Cellar/mysql/5.6.10/support-files/mysql.server start

і зупинити це

/usr/local/Cellar/mysql/5.6.10/support-files/mysql.server stop

Редагувати: Як згадував Якоб Ракуя, переконайтеся, що ви поставили на шлях відповідну версію MySQL.


1
так !!!!!! Я не усвідомлював, що встановив це таким чином! переконайтеся, що ви поставили на шляху відповідну версію mysql
Яків Раккуя

31
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop

внести псевдонім у .bash_profile

alias start_mysql="/Library/StartupItems/MySQLCOM/MySQLCOM start"
alias stop_mysql="/Library/StartupItems/MySQLCOM/MySQLCOM stop"

і якщо ви намагаєтеся запустити як root, дотримуйтесь безпечного режиму

sudo ./bin/mysqld_safe

якщо у вас все ще виникають проблеми, рекомендується прочитати: mysql5.58 untart server in mac os 10.6.5


27

можливо, ваш mysql-сервер не запустився

Ви можете спробувати

/usr/local/bin/mysql.server start


10

Для мене це рішення працювало на ОС Mac Sierra:

sudo /usr/local/bin/mysql.server start
Starting MySQL
SUCCESS!

9

Якщо він встановлений з домашньою мовою, спробуйте просто набрати текст mysql.server термінал, і це повинно бути. AFAIK його виконуваним буде під /usr/local/bin/mysql.server.

Якщо ні, ви завжди можете запустити наступний "locate mysql.server", який підкаже вам, де знайти такий файл.


5

Якщо у вас встановлений MySQL через Homebrew, ці команди допоможуть вам:

# For starting
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

# For stoping
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

4
LauchAgent для mysql за замовчуванням не був. Біг brew info mysql(про який я дізнався: stackoverflow.com/a/4622474/459863 ) констатував, що я спочатку повинен був бігати ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents. Після цього воно спрацювало.
Вольфрам Арнольд

5

Мій MySQL встановлюється через домашню мову на OS X ElCaptain. Що це зафіксувало, він біг

brew doctor

  • що запропонувало мені бігти

sudo chown -R $(whoami):admin /usr/local

Тоді:

brew update
mysql.server start

тепер запущено mysql


Не знаю, чому хтось прихильнився. Це трапилося зі мною під час оновлення варіння. Працюючи лікар-вариво, а потім, дотримуючись вказівок, щоб додати певний шлях до мого профілю bash, виправили проблеми. Дякую за пропозицію.
Nostalg.io

1

Помилка запуску сервера MySql "Сервер вийшов без оновлення PID-файлу"

якщо ви встановили mysql з домашньої мови

закрити сервер mysql від уподобань mac

ps ax | grep mysql

#kill all the mysql process running
sudo kill -9 pid

which mysql
/usr/local/bin/mysql
Admins-MacBook-Pro:bin username$ sudo mysql.server start

Starting MySQL
. SUCCESS! 

Admins-MacBook-Pro:bin username$ which mysql

/usr/local/bin/mysql

Admins-MacBook-Pro:bin username$ ps ax | grep mysql

54916 s005  S      0:00.02 /bin/sh 
/usr/local/Cellar/mysql@5.7/5.7.27_1/bin/mysqld_safe --datadir=/usr/local/var/mysql --pid-file=/usr/local/var/mysql/Admins-MacBook-Pro.local.pid
55012 s005  S      0:00.40 /usr/local/Cellar/mysql@5.7/5.7.27_1/bin/mysqld --basedir=/usr/local/Cellar/mysql@5.7/5.7.27_1 --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/Cellar/mysql@5.7/5.7.27_1/lib/plugin --user=mysql --log-error=Admins-MacBook-Pro.local.err --pid-file=/usr/local/var/mysql/Admins-MacBook-Pro.local.pid
55081 s005  S+     0:00.00 grep mysql

0
111028 16:57:43 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!

Ви встановили кореневий пароль для своєї установки mysql? Це відрізняється від вашого пароля root sudo. Спробуйте/usr/local/mysql/bin/mysql_secure_installation


Коли я запустив вищевказаний рядок, він видає: Неможливо знайти клієнта 'mysql' в PATH або ./bin
В'єтстон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.