Eu tenho um servidor web simples (Debian 6.0 x86, DirectAdmin com 1 GB de memória e ainda 10 GB de espaço livre, mySQl versão 5.5.9), no entanto, o servidor mySQL continua travando e preciso interromper todos os processos mySQL para poder reiniciá-lo novamente.
/var/log/mysql-error.log
resultado:
130210 21:04:26 InnoDB: Using Linux native AIO
130210 21:04:34 InnoDB: Initializing buffer pool, size = 128.0M
130210 21:05:42 InnoDB: Completed initialization of buffer pool
130210 21:05:48 InnoDB: Initializing buffer pool, size = 128.0M
130210 21:06:22 InnoDB: Initializing buffer pool, size = 128.0M
130210 21:06:27 mysqld_safe mysqld from pid file /usr/local/mysql/data/website.pid ended
130210 21:06:29 mysqld_safe mysqld from pid file /usr/local/mysql/data/website.pid ended
130210 21:07:22 InnoDB: Completed initialization of buffer pool
130210 21:07:51 mysqld_safe mysqld from pid file /usr/local/mysql/data/website.pid ended
130210 21:08:33 InnoDB: Completed initialization of buffer pool
130210 21:12:03 [Note] Plugin 'FEDERATED' is disabled.
130210 21:12:47 InnoDB: The InnoDB memory heap is disabled
130210 21:12:47 InnoDB: Mutexes and rw_locks use InnoDB's own implementation
130210 21:12:47 InnoDB: Compressed tables use zlib 1.2.3
130210 21:12:47 InnoDB: Using Linux native AIO
130210 21:13:11 InnoDB: highest supported file format is Barracuda.
130210 21:13:23 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
130210 21:14:05 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Unable to lock ./ibdata1, error: 11
InnoDB: Check that you do not already have another mysqld process
InnoDB: using the same InnoDB data or log files.
InnoDB: Unable to lock ./ibdata1, error: 11
InnoDB: Check that you do not already have another mysqld process
InnoDB: using the same InnoDB data or log files.
InnoDB: Unable to lock ./ibdata1, error: 11
InnoDB: Check that you do not already have another mysqld process
InnoDB: using the same InnoDB data or log files.
130210 21:17:53 InnoDB: Unable to open the first data file
InnoDB: Error in opening ./ibdata1
130210 21:17:53 InnoDB: Operating system error number 11 in a file operation.
Encontrei um tópico no site mySQL aqui, mas não há solução para isso.
Alguma idéia para alguém?
Respostas:
outra abordagem de um comentário no mesmo blog:
via http://www.webhostingtalk.com/archive/index.php/t-1070293.html
fonte
service mysql restart
já não estava mostrando nenhum processo em execução, mas olsof
encontrou. Matouservice mysql start
, e agora o fluxo de e-mails com falha no processo pode parar. Muito Obrigado.com o ubuntu 14.04. Estou com esse problema ao tentar reiniciar via
Em vez disso, tente
fonte
service job start
; caso contrário, se você o iniciar com o script init.d, o Upstart não saberá sobre isso e poderá tentar para inicializar outra instância. (Pelo menos é o caso com padrão do MySQL o init scripts.)service
nomes de preenchimento de guias . Talvez envie uma solicitação de recurso para a Canonical através do rastreador de erros?A causa mais comum desse problema é tentar iniciar o MySQL quando ele já estiver em execução.
Para resolvê-lo, elimine todas as instâncias em execução do MySQL e reinicie-o usando seus scripts de inicialização normais, por exemplo
service mysql start
.Não tente iniciar o MySQL manualmente ao usar versões em pacotes de distribuição, a menos que esteja preparado para um mundo de mágoas.
fonte
however the mySQL server keeps crashing
- Eu não reinicio o mySQL. Ele apenas trava, depois do que eu preciso reiniciar obviamente. ;-)Solução
faça uma cópia dos arquivos originais (ibdata1, ib_logfile0, ib_logfile1 ...).
http://cglreport.zhenhua.info/2008/08/mysql-error-unable-to-lock-ibdata1.html
fonte
Isso me ajudou a resolvê-lo:
Exclua todos os arquivos ibdata e deixe o mysql criá-los.
pare o mysql:
vá para a biblioteca mysql:
mova os arquivos innodb para algum lugar, caso você precise:
inicie o mysql:
fonte
Veio aqui pesquisando o mesmo erro de repetição, mas com o código de erro 13 (
InnoDB: Unable to lock ./ibdata1, error: 13
). Depois de tentar muitas soluções pela internet, inventei uma que me ajudou (apparmor!)Adicione estas linhas à configuração
/etc/apparmor.d/usr.sbin.mysqld
(e recarregue o apparmor e o mysql, é claro):As principais diferenças entre as soluções frequentemente: duas regras (para o próprio diretório e para todos os arquivos dentro, observe o dobro
**
) e ak
opção para permitir que o mysql bloqueie arquivos.Espero que isso ajude alguém.
fonte
/etc/apparmor.d/local/usr.sbin.mysqld
. Crie o arquivo se ele não existir. Para mais detalhes, consulte/etc/apparmor.d/local/README
Verifique o espaço para garantir que seja 100%
Como se estivesse cheio, ele não criará um arquivo .sock.
fonte
Por favor, verifique se você possui
pid-file
parâmetro na[mysql]
seção domy.cnf
arquivo. Se não estiver presente,unable to lock ...ibdata1.. error:1
ocorrerá.fonte
Simples, mas mais rápido do que o caminho com "cp -a". E ajudou quando "cp -a" e tudo o mais não podia.
service mysql stop && pkill -f mysql
Livre-se de todos os processos mysql
vi /etc/mysql/my.cnf
Altere o parâmetro datadir = / var / lib / mysql para datadir = / var / lib / mysql2 (ou apenas adicione se você não tiver)
mv /var/lib/mysql /var/lib/mysql2
Renomeie o datadir para um novo nome
service mysql start
Prepare seu pandeiro
fonte
Se nenhuma das outras soluções funcionar, o problema provavelmente decorre da configuração incorreta do AppArmor.
Então faça:
e depois reinicie o MySQL (observe o quão rápido ele será reiniciado).
Percebi um arquivo ausente relacionado ao AppArmor ao fazer:
Por isso, achei que havia algo errado com a configuração do AppArmor.
fonte