Ok, eu pesquisei tudo e passei um bom tempo instalando, desinstalando, tentando várias opções, mas sem sucesso.
Estou no Mac OS X Lion (10.7.3) e estou tentando configurar um Python, MySQL.
Instalei Python e MySQL com sucesso via HomeBrew. Python funciona muito bem.
Após a instalação do MySQL, segui os primeiros 2 passos - unset e os mysql_install_db
comandos.
Agora, quando tento iniciar o mysql "mysql.server start", recebo o seguinte erro
ERROR! The server quit without updating PID file (/usr/local/var/mysql/Brajeshwar.local.pid).
Brajeshwar
é meu nome de usuário na minha máquina.
sudo chown -R _mysql:_mysql /usr/local/var/mysql
brew info mysql
ou esta questão para a solução certaDescobri que era um problema de permissão com a
mysql
pasta.resolveu para mim.
fonte
Acabei reinstalando completamente o mysql e finalmente deu certo.
AVISO Isso removerá todos os seus bancos de dados, portanto, primeiro salve os dumps.
brew remove mysql brew cleanup launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist sudo rm -rf /usr/local/var/mysql brew install mysql mysqld --initialize --explicit_defaults_for_timestamp mysql.server start # no sudo!
fonte
mysqld --initialize --explicit_defaults_for_timestamp
Tive este problema no mac 10.10.5 Yosemite
O que eu fiz para resolver isso
cd /usr/local/var/mysql
sudo rm *.err && sudo rm *.pid
sudo reboot
sudo mysql.server start
fonte
Novembro de 2014: se você está recebendo este erro no MySQL 5.6.x no Mac OS X Mavericks ou Yosemite e deseja usar o MySQL com PHP localmente (/tmp/mysql.sock é onde o PHP PDO espera encontrar o arquivo sock), aqui está o que consertou para mim:
1) Remova o comentário das linhas do arquivo de configuração do homebrew padrão e edite como abaixo
BOXNAME é o que você tem em suas Preferências de Sistema -> Rede como o id único para seu computador na rede.
2) Defina as permissões em todos os arquivos no datadir mysql. Todos eram propriedade de [my_username]. O MySQL é muito exigente quanto a isso e se recusa a criar o arquivo pid a menos que (o usuário _mysql) seja o proprietário do diretório.
3) Inicie o MySQL usando o script bash helper / wrapper:
$ sudo mysql.server start Starting MySQL . SUCCESS!
Espero que ajude. Se o acima não funcionar para você, tente executar o binário mysqld_safe manualmente no diretório Cellar / mysql / VERSION_ / bin / e verifique quais são as configurações (se for executado)
Se funcionar, você pode
e ver algo como
[username] 6881 0.0 2.7 3081392 454836 ?? S 8:52AM 0:00.54 /usr/local/Cellar/mysql/5.6.21/bin/mysqld --basedir=/usr/local/Cellar/mysql/5.6.21 --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/Cellar/mysql/5.6.21/lib/plugin --verbose --log-error=/usr/local/var/mysql/BOXNAME.local.err --pid-file=/usr/local/var/mysql/BOXNAME.local.pid
Não sei por que isso funcionou para mim, mas mostra de onde obtive as opções do arquivo de configuração my.cnf. Você também pode usar as opções de linha de comando para tentar solucionar problemas ao iniciar o mysqld manualmente.
Se você executar manage para executar o servidor MySQL usando mysqld_safe, você pode ter que fazer isso para desligá-lo antes de tentar o auxiliar bash mysql.server. Resista ao impulso de matar -9 [PID] porque você pode corromper seus dados.
Boa sorte!
fonte
Eu tive o mesmo problema no OS X El Capitan, aqui está a sequência de comando do terminal que corrigiu isso para mim.
Exclua arquivos de erro (você terá que alterar o caminho dependendo de sua configuração)
sudo rm /usr/local/mysql/data/*.err
Encontre as informações para o processo mysql que ainda está em execução e elimine-o:
ps -A | grep -m1 mysql | awk '{print $1}' | sudo xargs kill -9
Agora reinicie o MySQL:
/usr/local/mysql/support-files/mysql.server start
fonte
Isso funcionou para mim:
sudo chmod -R 777 /usr/local/var/mysql/ sudo /usr/local/mysql/support-files/mysql.server start
fonte
Isso funcionou para mim em 10.12.2:
$ rm /usr/local/var/mysql/*.err
então
fonte
Se bem me lembro, é um problema de permissões. Tente 'tocar' e 'chmod' no arquivo pid ou na pasta em que o arquivo está armazenado.
fonte
Meu problema era que eu iniciei o servidor como sudo uma vez e tentei reiniciar como um usuário local.
Aqui, o mysql não foi capaz de gravar no arquivo '.err' pertencente ao root. Tive que remover esse arquivo e reiniciar o servidor:
sudo rm /usr/local/var/mysql/*.err mysql.server start
fonte
Eu tenho um problema semelhante com o MySQL em um Mac (Mac Os X não foi possível iniciar o servidor MySQL. Motivo: 255 e também “ERRO! O servidor foi encerrado sem atualizar o arquivo PID”). Após um longo processo de tentativa e erro, finalmente, para restaurar as permissões do arquivo, eu acabei de fazer isso:
iniciei o Disk Utilities.app
escolha minha unidade no painel esquerdo
clique no botão “Reparar permissões do disco”
Isso funcionou para mim. Esperando que isso possa ajudar outra pessoa.
fonte
Para mim funcionou com:
unset TMPDIR mysql_install_db --user=`whoami` --basedir="$(brew --prefix mariadb)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
fonte
O que funcionou para mim foi:
sudo chmod -R 777 data
cd support-files/
sudo ./mysql.server start
Depois disso, o servidor começou a funcionar.
Mas o problema com esse método é que tenho que repetir isso toda vez que quiser iniciar o mysql agora. Não sei por que começou a se comportar assim de repente.
fonte
Encontre o arquivo usr / local / var / mysql / your_computer_name.local.err e entenda mais informações sobre o erro
Localização: /usr/local/var/mysql/your_computer_name.local.err
Provavelmente é um problema com as permissões
onde PID é o valor da segunda coluna 2. verifique a propriedade do mysql
if it is owned by root, change it mysql or your user name
fonte
Experimente isto (OSX)
Passo 1:
ps -aux | grep mysql
Então mate o número PID de 4 dígitos
Passo 2:
kill 1965
Etapa 3:
mysql.server start
Ou tendo dificuldade em localizar esses números PID, tente isto abaixo
Etapa 1 novamente:
ps -aux | grep mysql
Etapa 2 novamente:
killall
Etapa 3 novamente:
mysql.server start
fonte
Verifique o log, você obterá informações mais detalhadas.
Use o comando abaixo para limitar o log de erros
Para mim, um dos diretórios está faltando, uma vez criado o servidor foi iniciado.
fonte
A principal lição é verificar o arquivo .err, por padrão no Mac OSX ele está em
/usr/local/var/mysql
.Esse arquivo de registro me revelou que eu precisava excluir os seguintes arquivos:
A execução do MySQL
mysql.start
funcionou com sucesso depois disso. Observe que a exclusão desses arquivos provavelmente causará perda de dados.fonte
funciona para mim.
fonte
Eu tive o mesmo problema:
Mas a situação era, toda vez que tento entrar:
/usr/local/mysql/support-files/mysql.server start
um arquivo denominado
localhost.pid
é criado em vez doiMax0.local.pid
que foi declarado no erro:A solução que funcionou para mim foi copiar
localhost.pid
e renomear paraiMax0.local.pid
.fonte
Minha solução no OSX El Capitan foi:
Foi quebrado de repente.
O erro foi:
e o log mostrou:
Can't start server : Bind on unix socket: Permission denied
Também pode ser útil observar que no OSX não há nenhum
my.cnf
arquivo por padrão e não é necessário por padrão, o que eu não sabia. Boa sorte!fonte
Funciona para mim.
fonte
Eu tive o problema semelhante. Mas os seguintes comandos me salvaram.
fonte
Este é um problema de permissão de arquivo. Verifique as permissões do disco e repare.
Osx => Cmd + Espaço => Utilitário de Disco => Verificar Permissões de Disco.
Verificação concluída após Reparar Permissões do Disco. O comando mysql.server start foi executado com sucesso.
fonte
Nenhuma das respostas funcionou para mim. No entanto, eu simplesmente fiz
sudo mysql.server start
e funcionou bem.Além disso, para mim, ele NÃO mostrou problemas de permissões no arquivo * .err.
fonte
Eu tive esse problema no Linux, mas a causa é relevante para qualquer instalação do mysql. No meu caso, o servidor estava travando antes que a inicialização fosse concluída e o arquivo pid atualizado. As mensagens de erro foram vistas ao iniciar o mysqld diretamente ao invés de via "service mysql start".
No meu caso, a causa foi a partição onde os arquivos de log estavam localizados estar cheia. A remoção dos arquivos de log permitiu que o mysql iniciasse novamente. Para testar esse problema, vá até o local dos logs de atividades do mysql e faça
df .
.fonte
Se você atualizou sua instalação do mysql para 8.x, verifique se sua versão anterior é compatível para atualização .
Caso contrário, o mysql não funcionará! Desinstale seu mysql junto com todos os arquivos de configuração em
/usr/local/var/mysql
(remova a pasta inteira). Reinstale o mysql.NOTA: a reinstalação pode causar perda de dados.
fonte
todas as soluções acima não funcionam para mim. mas eles me dão algumas dicas para corrigir esse erro.
Eu instalei [email protected] no meu macbook mojave com homebrew
registro de erros do mysql localizado em /usr/local/var/mysql/IU.lan.err, há uma linha nele: Não é possível abrir e bloquear tabelas de privilégios: Tabela 'mysql.user' não existe
depois de tentar vários posts no buscador goole, virei para o baidu https://blog.csdn.net/xhool/article/details/52398042 inspirado neste post, encontrei a solução:
uma senha aleatória para o usuário root será mostrada no bash. mas o comando mysql -uroot -p [theRandomPassword] não pode funcionar. então eu tenho que redefinir a senha. crie um arquivo init com conteúdo como este
coloque-o em qualquer diretório fácil de encontrar, como Desktop
muitos logs impressos em sua tela.
aproveite sua versão alta do mysql!
fonte
Aconteceu comigo porque eu estava realmente mudando do MariaDB para o Mysql. Voltar para o MariaDB resolveu isso.
Estou supondo que o banco de dados existente não era compatível.
fonte
brew uninstall [email protected]
seguida, apaguei a antiga pasta mysql criada por MariaDBsudo rm -rf /usr/local/var/mysql
(isso excluirá seus bancos de dados, obviamente). Entãobrew install [email protected]
emysql.server start
e funciona.Resolvi isso usando
sudo chown -R _mysql:_mysql /usr/local/var/mysql
Graças a Matteo Alessanifonte
Este erro pode estar realmente sendo mostrado porque o mysql já foi iniciado. Tente ver o status atual por:
fonte
ps
na verdade mostrei processos mysql. Matei tudo, executei novamentemysql.server restart
e funcionou!