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

No Snow Leopard, iniciar o MySQL dá o seguinte erro:

O servidor desiste sem actualizar o ficheiro 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

tente encontrar seu arquivo de log com sufixo ".err", deve haver mais informações. Pode ser que esteja dentro:

/usr/local/var/mysql/your_computer_name.local.err

It's provavelmente problema com as permissões

  1. verificar se alguma instância mysql está em execução

ps -ef | grep mysql

se sim, você deve parar, ou matar o processo

matar -9 PID

onde PID é o número exibido ao lado do nome de usuário na saída do comando anterior

  1. verificar a propriedade de /usr/local/var/mysql/

ls -laF /usr/local/var/mysql/

se for dono por "raiz" você deve mudá-lo para "mysql" ou "seu_usuário".

sudo chown -R mysql /usr/local/var/mysql/

Comentários (18)

O que'é o que diz o log de erros? Eu recebi este 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 má configuração, o log de erros deve pelo menos apontar para a direção certa.

Bem, presumo que o PO o tenha corrigido nesta altura... mas espero que isto aponte os outros a verem este erro na direcção certa.

Comentários (0)

Espero que isto funcione para ti.

Depois de verificar o registo de erros, encontrei isto:

120309 17:42:49 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
120309 17:42:50 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/mysql/data/ is case insensitive
120309 17:42:50 [Warning] You need to use --log-bin to make --binlog-format work.
120309 17:42:50 [Note] Plugin 'FEDERATED' is disabled.
120309 17:42:50 InnoDB: The InnoDB memory heap is disabled
120309 17:42:50 InnoDB: Mutexes and rw_locks use GCC atomic builtins
120309 17:42:50 InnoDB: Compressed tables use zlib 1.2.3
120309 17:42:50 InnoDB: Initializing buffer pool, size = 16.0M
120309 17:42:50 InnoDB: Completed initialization of buffer pool
120309 17:42:50  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name /usr/local/mysql/data/ib_logfile0
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
120309 17:42:50 mysqld_safe mysqld from pid file /usr/local/mysql/data/lu1s.local.pid ended

E para resolver isso, eu dei direitos de propriedade a toda a pasta do mysql:

cd /usr/local
sudo chown mysql mysql
sudo chown mysql mysql-5.5.21-osx10.6-x86_64
sudo chown _mysql mysql
sudo chown _mysql mysql-5.5.21-osx10.6-x86_64

Então (você também pode fazer isso na linha de comando), eu apliquei as permissões (uma vez que eu dei essa propriedade para _mysql e mysql usuários) a todas as pastas fechadas de dentro do "obtenha info" menu da pasta em /usr/local/mysql-5.5.21-osx10.6-x86_64 . Você não'não precisa de fazer isso ao alias, uma vez que ele'é apenas um alias.

O nome da pasta depende da versão de instalação do mysql que você tem.

Comentários (0)