No Snow Leopard, iniciar o MySQL gera o seguinte erro:
O servidor saiu sem atualizar o arquivo PID
my.cnf
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 16K
pid-file=/var/run/mysqld/mysqld.pid
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Respostas:
tente encontrar seu arquivo de log com o sufixo ".err", deve haver mais informações. Pode estar em:
Provavelmente é um problema com permissões
verifique se alguma instância do mysql está em execução
se sim, você deve interromper ou matar o processo
onde
PID
é o número exibido ao lado do nome de usuário na saída do comando anteriorverifique a propriedade de
/usr/local/var/mysql/
se for o proprietário,
root
você deve alterá-lomysql
ouyour_user
fonte
Você seguiu as instruções de
brew install mysql
?Configure bancos de dados para executar COMO SUA CONTA DE USUÁRIO com:
Para o mysql 5.x:
Para configurar tabelas base em outra pasta ou usar um usuário diferente para executar o mysqld, veja a ajuda de
mysqld_install_db
:e veja a documentação do MySQL:
Para o mysql 8.x:
Verifique se o diretório de dados
/usr/local/var/mysql
acima está vazio, faça backup, se necessário.Para executar como, por exemplo, usuário "mysql", pode ser necessário
sudo
:Inicie o mysqld manualmente com:
Nota: se isso falhar, você provavelmente esqueceu de executar os dois primeiros passos acima
fonte
sudo chown -R your_user /usr/local/var/mysql/
assim como @Tombart 's resposta :)mysqld_install_db
comando me dá o erro #mysql_install_db: [ERROR] unknown variable 'tmpdir=/tmp'
Eu tive o mesmo problema na minha máquina Mac (segui corretamente todas as etapas de instalação sugeridas por
brew install
).A exclusão do arquivo de erro o corrigiu para mim:
sudo rm -rf /usr/local/var/mysql/dev.work.err
(dev.work
é o meu nome de host)Isso funcionou porque
dev.work.err
era de propriedade_mysql:wheel
do meu nome de usuário. ESCOLHER o arquivo de erro provavelmente também o teria corrigido.fonte
Após a reinicialização, tive o mesmo problema. Aqui está como eu o consertei:
fonte
sudo chown -R _mysql /usr/local/mysql/data
Isso funcionou para mim ...
Verifique todos os processos do MySQL em execução:
Em seguida, mate todos os processos listados no comando acima usando o seguinte:
Substitua
[PID]
pelo PID individual da lista acima, por exemplo5970
.Faça isso para todas as linhas que você vê com o primeiro comando.
Então você pode iniciar seu servidor MySQL novamente:
fonte
pkill mysql
para matar todos os processos que correspondem ao "mysql" (-9
na maioria dos casos, é desnecessário).Este erro pode ocorrer ao tentar iniciar o msql após o desligamento incorreto.
Dê uma olhada no arquivo de log de erros do mysql. Se ele mencionar algo como "Verifique se você ainda não possui outro processo mysqld usando os mesmos dados ou arquivos de log". , é necessário encerrar adequadamente esse processo.
Veja em que processo o mysql está sendo executado, use este comando:
lsof -i:3306
Sua saída deve ficar assim:
kill -15 4249
mysql.server start
fonte
Meu arquivo de erro também me disse que a porta pode estar sendo usada por outro processo, mas simplesmente a execução
sudo mysql.server start
corrigiu o problema para mim.fonte
Tente remover
ib_logfile0
eib_logfile1
arquivos e execute o mysql novamenteFunciona para mim.
fonte
.err
arquivo no mesmo diretório, que funcionou para mim.ib_log*.bak
Se ninguém respondeu, basta remover a pasta
/usr/local/var/mysql
e instalar o mysql novamentebrew reinstall mysql
.fonte
brew reinstall [email protected]
resolvê-lo.Recentemente, deparei com esse problema, mas ele estava funcionando antes e depois parei.
Isso foi porque eu comecei inicialmente
mysql.server
como root em vez de mim mesmo.A correção foi excluir o arquivo de log de erros (pertencente a
_mysql
). Começá-lo novamente conseguiu passar.fonte
Para mim eu tive que reinstalar o mysql
e depois abaixo Para iniciar, execute o mysql agora e reinicie no login:
fonte
A solução que funcionou para mim estava aqui: /server/334284/cant-create-pid-file-on-mysql-server-permission-denied
Alterar algumas das minhas permissões parecia funcionar. Estou executando um Macbook Air de meados de 2012 com OS X 10.8.2 e o mysql foi instalado com homebrew.
fonte
Para mim, a correção foi simples:
mostrou que o mysqld já estava rodando
então permitiu que o processo iniciasse
fonte
Eu tive esse problema ao tentar preparar a atualização no MacOS X 10.7.5.
Infelizmente, o mysql também foi atualizado para 5.6.10 a partir de 5.5.14. Tentei o novo, não funcionou.
Decidi voltar à minha configuração antiga e fiz uma
Isso não resolveu o problema. Em outros lugares, li e fiz isso, pronto! Tudo estava de volta :)
fonte
brew upgrade mysql
e, em seguida,brew switch mysql 5.7.17
qual era a minha versão anterior. Esquisito!Estou a usar,
Instalei o MySQL usando o homebrew ('brew install mysql'). Ele instalou algumas dependências e depois o mysql.
Quando tentei iniciar,
Eu executei este comando,
e o MySQL funciona.
Observe que você precisa executar o mysql_install_db no nível superior do diretório mysql (IE, usr / local / Cellar / mysql / 5.5.25). A execução direta no diretório / scripts não fornece contexto suficiente para sua execução.
fonte
Para mim, a solução foi substituir / corrigir o diretório de dados em / etc / my / cnf.
Eu construí o MySQL 5.5.27 a partir da fonte com as instruções fornecidas no arquivo leia-me:
mysqld_safe terminou automaticamente sem explicação. A execução
/etc/init.d/mysql.server start
resultou no erro:"O servidor saiu sem atualizar o arquivo PID"
Notei algo estranho nas instruções de instalação. A propriedade foi alterada para mysql no diretório "data", mas não para "var"; isso é incomum, porque durante anos tive que garantir que o diretório var fosse gravável no mysql. Então eu corri manualmente
chown -R mysql /usr/local/mysql/var
e tentei iniciá-lo novamente. Ainda sem sorte. Mas pior, nenhum arquivo .err no diretório var - estava no diretório "dados"! então scripts / mysql_install_db configura o acampamento em / usr / local / mysql / var, mas o restante do aplicativo parece querer fazer seu trabalho em / usr / local / mysql / data!Então, eu apenas editei o /etc/my.cnf e, na seção [mysqld], adicionei uma diretiva para apontar explicitamente o diretório de dados do mysql para var (como normalmente espero que seja assim) e, depois disso, o mysqld inicia apenas bem. A diretiva a adicionar tem a seguinte aparência:
datadir = / usr / local / mysql / var
Trabalhou para mim. Espero que ajude para você.
fonte
Parece que o processo MySQL está em execução, portanto, você não pode usar a porta. Você pode verificar o processo MySQL em execução usando o seguinte comando:
ps auxf | grep mysql
Se você obtiver algum processo do MySQL, mate o ID do processo usando kill -9 PID e tente iniciar o MySQL.
fonte
Inicie o Mysql no modo de segurança
OU
no MAC End qualquer
mysql
oumysqld
tarefa (ou outro) em seu aplicativo Activity Monitor.ou verifique seu erro
fonte
O que o log de erros diz? Eu recebi esse erro e ele acabou sendo uma configuração inválida antiga no my.cnf, que o log de erros do mysql indicava. Se não for uma configuração incorreta, o log de erros deve pelo menos apontá-lo na direção certa.
Bem, suponho que o OP o tenha corrigido neste momento ... mas espero que isso aponte os outros que estão vendo esse erro na direção certa.
fonte
Com a ajuda de algumas respostas postadas aqui, consegui encontrar o problema
Primeiro eu corro
sudo -i
Então eu poderia ter acesso root.
Então eu apaguei o arquivo xxxx.err
rm -rf /usr/local/mysql/data/xxxx.err
depois que iniciei o MySQL no SafeMode
/usr/local/mysql/bin/mysqld_safe start
Ele tentará iniciar e será encerrado devido a um erro ... um novo arquivo xxx.err será criado e você precisará lê-lo para ver a causa do erro
tail -f /usr/local/mysql/data/mysqld.local.err
No meu caso, por algum motivo, faltavam algumas pastas e arquivos dentro da
/var/log/
pasta ... Então eu criei os doiscd /var/log
mkdir mysql
touch mysql-bin.index
Depois que o novo arquivo foi criado, você precisa alterar a permissão
chown -R _mysql /var/log/mysql
Quando todas essas etapas foram executadas, meu banco de dados começou a funcionar imediatamente ...
Espero que isso possa ajudar outras pessoas aqui ... A chave é ler o erro e registrar e descobrir o que está errado ...
fonte
No meu caso, o erro ocorre devido ao problema de acesso ao arquivo de log de erros.
Os dois comandos a seguir me ajudam a resolver o problema.
fonte
Espero que este trabalho para você.
Depois de verificar o log de erros, encontrei o seguinte:
E para resolvê-lo, dei direitos de propriedade a toda a pasta mysql:
Então (você também pode fazê-lo na linha de comando), apliquei as permissões (depois de atribuir essa propriedade aos usuários _mysql e mysql ) a todas as pastas fechadas no menu "obter informações" da pasta em / usr / local / mysql -5.5.21-osx10.6-x86_64 . Você não precisa enviar isso para o alias, pois é apenas um alias.
O nome da pasta depende da versão de instalação do mysql que você possui.
fonte
Eu tive o mesmo problema. mover meu arquivo /etc/my.cnf funcionou para mim. Eu tenho as informações aqui
fonte
Teve o mesmo problema, para mim, ele estava fazendo uma remoção do brew enquanto tinha uma instalação anterior do mysqld em execução. Parece que o brew não interrompe um serviço antes da desinstalação.
Após verificar o arquivo .err, vi o erro registrado de que outra cópia do mysql pode estar em execução, após o término do serviço antigo. Eu era capaz de reiniciar a nova instalação do mysql.
fonte
ls -latr /usr/local/var/mysql/
para encontrar o arquivo modificado mais recente, que incluía o log de erros, e depoistail -50 name.err
para ver o erro, que era um problema na configuração.ps aux | grep mysqld
e, em seguida, terminou o processo comkill -9 [proccessid]
eo servidor iniciado com êxitoSimples....
Corrija o erro do soquete do MySQL 2002
Corrija o iminente erro de soquete 2002 - que está vinculando onde o MySQL coloca o soquete e onde o OSX pensa que deveria estar, o MySQL o coloca em / tmp e o OSX o procura em / var / mysql o soquete é um tipo de arquivo que permite ao cliente mysql comunicação / servidor.
sudo mkdir / var / mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
Bem feito : )
Isso me ajuda muito! Eu peguei este guia dos caras em http://coolestguidesontheplanet.com/
fonte
Tente isso ..
cd YOURPATH/usr/local/mysql
rm -rf *.local.err
(exclui arquivo)touch YOURUSERNAME.local.pid
(gera um novo arquivo * .local.pid do qual o erro lançado estava reclamando)mysql.server start
fonte
error.log
arquivo pertence a "_mysql" lançando erros nos logs. Só queria registrar que, caso alguém tenha esse problema.150818 19:32:06 mysqld_safe Logging to '/opt/boxen/log/mysql/error.log'. 150818 19:32:06 mysqld_safe Starting mysqld daemon with databases from /opt/boxen/data/mysql /opt/boxen/homebrew/bin/mysqld_safe: line 129: /opt/boxen/log/mysql/error.log: Permission denied
De alguma forma, estraguei minhas permissões no El Capitan e decidi reinstalar o MySQL do zero.
Eu uso o brew no el capitan e decidi reinstalar:
As permissões de arquivo na nova instalação foram alteradas
_mysql
para incluir meu nome de usuáriofonte
Verifique se você ainda tem espaço em sua unidade. Eu tenho esse problema quando não há espaço na minha unidade.
fonte
O problema é de permissão, não pode ser iniciado porque não pode ser gravado no mac.err porque pertence a outra pessoa.
Verifique se a pasta / usr / local / var / mysql pertence ao usuário que iniciará o mysql. Se eu iniciar o mysql como jack, está tudo bem. No entanto, se você iniciá-lo como root, ele criará um arquivo mac.err (de propriedade do root) no qual o jack não pode gravar, portanto, quando você tentar reiniciá-lo como jack, ele falhará.
fonte
No meu caso, eu peguei esse problema no vps, cPanel .
Eu tentei a maioria das respostas acima, mas não obtive sucesso.
https://forums.cpanel.net/threads/mysql-is-not-running.407142/
fonte