inicie o servidor MySQL a partir da linha de comando no Mac OS Lion


162

Eu instalei o mySQL no meu Mac. Além de iniciar o servidor SQL com a ferramenta mySQL.prefPane instalada no System Preference, quero saber as instruções para iniciar na linha de comando. Eu faço o seguinte:

Depois de

raiz su

Eu inicio o servidor mySQL por linha de comando, ele produz um erro como abaixo:

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

111028 16:57:43 [Aviso] A configuração lower_case_table_names = 2 porque o sistema de arquivos para /usr/local/mysql-5.5.17-osx10.6-x86_64/data/ faz distinção entre maiúsculas e minúsculas

111028 16:57:43 [ERRO] Erro fatal: Por favor, leia a seção "Segurança" do manual para descobrir como executar o mysqld como root!

111028 16:57:43 [ERRO] Interrompendo

111028 16:57:43 [Nota] / usr / local / mysql / bin / mysqld: Encerramento concluído

Por favor me ajude!

EDITAR:

O motivo está aqui: http://dev.mysql.com/doc/refman/5.5/en/changing-mysql-user.html

Uma solução é descrita na resposta do xdazz abaixo.


Veja minha edição na pergunta para a explicação #
3131 vietstone

1
No macOS, use mdfind mysql.serverpara ver onde está o seu servidor executável
Benjamin Crouzier

Respostas:


187

Experimentar /usr/local/mysql/bin/mysqld_safe

Exemplo:

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)

Você também pode adicioná-los aos scripts de inicialização do 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
Funciona. Mas não consigo sair do ponteiro da execução do comando. Como pará-lo quando a janela do Terminal está em execução.
vietstone

11
Note que esta resposta não se aplica se você instalou o mysql com o Homebrew.
Cbmanica

Para mim acabou sendo apenas "mysqld <action>", o arquivo está localizado em / usr / local / mysql / bin / mysqld
crobicha

232

Simplesmente:

mysql.server start

mysql.server stop

mysql.server restart


1
muito obrigado! Eu li tantas coisas, até os documentos - e nada disso estava funcionando para mim, mas foi o que aconteceu !!!
30916 HolyMoly

6
isto é o que eu tenho para este:. ERROR! The server quit without updating PID file (/usr/local/var/mysql/XXXX.pid).
nyxee 18/08/19

@nyxee Pode ser necessário executá-lo sudo!
precisa saber é o seguinte

Vaca sagrada. Obrigado!
Karl Johan Vallner

Muito melhor e simples. Obrigado
Prabhakar Undurthi

135

Também gosto dos apelidos ... no entanto, tive problemas com o MySQLCOM para iniciar ... falha silenciosamente ... Minha solução alternativa é semelhante aos outros ... ~ / .bash_aliases

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

Outras respostas falharam no OSX 10.7.5 com a instalação mais recente do MySQL. Este fez o truque - obrigado!
Irongaze.com

@ Irongaze.com Ainda bem que pude ajudar.
Eddie B #

Obrigado!! Eu queria iniciar o mysql e poder fechar o terminal também, e isso funcionou. Qual é a diferença entre essa maneira de iniciá-la e a maneira mysqld_safe?
oli206

1
Do mysqld_safe vs mysql.server Antes do mysql.server iniciar o servidor, ele muda de local para o diretório de instalação do MySQL e depois chama mysqld_safe.
Eddie B

Excelente resposta! Simples e eficaz.
quer

84

Como este artigo útil afirma: No OS X para iniciar / parar o MySQL na linha de comando:

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

No Linux, inicie / pare na linha de comando:

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

Alguns tipos de Linux também oferecem o comando service

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

ou

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

não existe tal arquivo ou diretório de/usr/local/mysql/support-files/mysql.server stop
nyxee

71

Se você o instalou com homebrew, o binário estará em algum lugar como

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

o que significa que você pode iniciá-lo com

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

e pare com

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

Edit: Como Jacob Raccuia mencionou, certifique-se de colocar a versão apropriada do MySQL no caminho.


1
sim!!!!!! eu não sabia que tinha instalado dessa maneira! certifique-se de colocar a versão apropriada do mysql no caminho
Jacob Raccuia

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

criar alias em .bash_profile

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

e se você estiver tentando executar como root, use o modo de segurança

sudo ./bin/mysqld_safe

Se você ainda estiver tendo problemas para iniciar, leia: mysql5.58 unstart server in mac os 10.6.5


27

talvez o seu servidor mysql não tenha iniciado

podes tentar

/usr/local/bin/mysql.server start


10

Para mim, esta solução funcionou no mac Sierra OS:

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

9

Se estiver instalado com o homebrew, tente digitar o mysql.serverterminal e deve ser isso. AFAIK, o executável estará em /usr/local/bin/mysql.server.

Caso contrário, você sempre pode executar o seguinte "localize mysql.server", que informará onde encontrar esse arquivo.


5

Se você tiver o MySQL instalado através do Homebrew, estes comandos ajudarão você:

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

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

4
O LauchAgent para mysql não estava lá por padrão. A execução brew info mysql(que aprendi em: stackoverflow.com/a/4622474/459863 ) afirmou que primeiro tive que executar ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents. Depois disso, funcionou.
Wolfram Arnold #

5

Meu MySQL é instalado via homebrew no OS X ElCaptain. O que corrigiu estava em execução

brew doctor

  • o que sugeriu que eu corra

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

Então:

brew update
mysql.server start

o mysql está em execução agora


Não sei por que alguém votou mal. Isso aconteceu comigo durante uma atualização de preparação. Executar o brew doctor e seguir as instruções para adicionar um caminho específico ao meu perfil do bash corrigiu os problemas. Obrigado pela sugestão.
Nostalg.io

1

Erro de inicialização do servidor MySql 'O servidor saiu sem atualizar o arquivo PID'

se você instalou o mysql do homebrew

fechar servidor mysql das preferências do 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!

Você definiu uma senha root para sua instalação mysql? Isso é diferente da sua senha root do sudo. Experimentar/usr/local/mysql/bin/mysql_secure_installation


Quando eu corri a linha acima, que produzem: Não é possível encontrar um cliente 'mysql' no caminho ou ./bin
vietstone
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.