запустить сервер MySQL из командной строки на Mac OS Lion


162

Я установил MySQL для моего Mac. Помимо запуска сервера SQL с инструментом mySQL.prefPane, установленным в «Системных настройках», я хочу знать инструкцию для запуска из командной строки. Я делаю следующее:

После

су корень

Я запускаю сервер MySQL из командной строки, он выдает ошибку, как показано ниже:

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

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

111028 16:57:43 [ОШИБКА] Неустранимая ошибка: Пожалуйста, прочтите раздел «Безопасность» в руководстве, чтобы узнать, как запустить mysqld от имени пользователя root!

111028 16:57:43 [ERROR] Отмена

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

Пожалуйста, помогите мне!

РЕДАКТИРОВАТЬ:

Причина здесь: http://dev.mysql.com/doc/refman/5.5/en/changing-mysql-user.html

Решение описано в ответе xdazz ниже.


См. Мое изменение в вопросе для объяснения
vietstone

1
В macOS используйте, mdfind mysql.serverчтобы увидеть, где находится исполняемый файл вашего сервера
Бенджамин Крузье,

Ответы:


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
Оно работает. Но я не могу выйти из указателя при выполнении команды. Как остановить это, когда окно терминала работает.
vietstone

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

Святая корова. Спасибо!
Карл Йохан Вальнер,

Гораздо лучше и проще. Спасибо
Прабхакар Ундурти

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 с последней установкой MySQL. Этот сделал свое дело - спасибо!
Irongaze.com

@ Irongaze.com Рад, что смог помочь.
Эдди Б

Спасибо!! Я хотел запустить mysql и иметь возможность закрыть терминал, и это сработало. В чем разница между этим способом запуска и способом mysqld_safe?
oli206

1
От mysqld_safe против mysql.server Перед тем, как mysql.server запускает сервер, он меняет расположение на каталог установки MySQL, а затем вызывает mysqld_safe.
Эдди Б

Отличный ответ! Просто и эффективно.
Starkers,

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

# 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

Если вы установили его с homebrew, бинарный файл будет где-то вроде

/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 unstart server в Mac OS 10.6.5


27

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

можешь попробовать

/usr/local/bin/mysql.server start


10

Для меня это решение работает на Mac Sierra OS:

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

9

Если он установлен вместе с homebrew, попробуйте просто набрать 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 устанавливается с помощью homebrew на OS X ElCaptain. Что исправило это работает

brew doctor

  • который предложил мне бежать

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

Затем:

brew update
mysql.server start

MySQL сейчас работает


Не знаю, почему кто-то проголосовал. Это случилось со мной во время обновления кофе. Запуск brew doctor, а затем следование инструкциям по добавлению определенного пути к моему профилю 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!

Вы установили пароль root для установки MySQL? Это отличается от вашего пароля root. Пытаться/usr/local/mysql/bin/mysql_secure_installation


Когда я запустил приведенную выше строку, она выдает: Не удается найти клиента «mysql» в PATH или ./bin
vietstone
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.