Eu tenho uma VM executando o servidor Ubuntu que acabei de atualizar para o 14.04. A VM fornece acesso a um banco de dados MySQL. No entanto, após a atualização, o banco de dados se recusa a iniciar e eu não sei o suficiente para descobrir:
root@vm-1 ~ $ service mysql start
start: Job failed to start
Eu verifiquei /var/log/mysql/error.log
e encontrei:
141001 20:23:10 [Note] Server hostname (bind-address): '127.0.0.1'; port: 3306
141001 20:23:10 [Note] - '127.0.0.1' resolves to '127.0.0.1';
141001 20:23:10 [Note] Server socket created on IP: '127.0.0.1'.
141001 20:23:10 [ERROR] Can't start server : Bind on unix socket: Permission denied
141001 20:23:10 [ERROR] Do you already have another mysqld server running on socket: /var/run/mysqld/mysqld.sock ?
141001 20:23:10 [ERROR] Aborting
141001 20:23:10 InnoDB: Starting shutdown...
141001 20:23:11 InnoDB: Shutdown completed; log sequence number 24590151085
141001 20:23:11 [Note] /usr/sbin/mysqld: Shutdown complete
Você pode encontrar todo o conteúdo do arquivo aqui . Note que eu o apaguei logo antes de executar o comando service
mostrado acima, então tudo que existe de uma única tentativa de iniciar o serviço MySQL.
Também verifiquei o óbvio:
$ ps ax | grep mysql
3623 pts/1 S+ 0:00 grep --color mysql
$ rm /var/run/mysqld/mysqld.sock
rm: cannot remove ‘/var/run/mysqld/mysqld.sock’: No such file or directory
$ netstat | grep 3306
Verifiquei se o diretório do banco de dados tem as permissões corretas:
$ chown -R mysql:root /data/database/
Eu tentei executar strace
, mas não vi nada óbvio. Eu entendo muito pouco disso, então você pode encontrar a saída aqui .
Por fim, meu /etc/mysql/my.cnf
é:
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
user = mysql
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /data/database
tmpdir = /tmp
skip-external-locking
bind-address = 127.0.0.1
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
myisam-recover = BACKUP
query_cache_limit = 1M
query_cache_size = 16M
log_error = /var/log/mysql/error.log
expire_logs_days = 10
max_binlog_size = 100M
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
[isamchk]
key_buffer = 16M
!includedir /etc/mysql/conf.d/
Eu tentei alterar a linha bind-address
acima para 0.0.0.0
, 127.0.0.0
e 127.0.1.1
(este porque eu tenho uma linha 127.0.1.1 foo
no meu /etc/hosts
onde foo
é o nome de host da minha VM) e 10.1.1.213
, que é o IP interno real da máquina na minha rede. Nenhum deles fez qualquer diferença. Eu também tentei comentar a linha bind-address
por boa medida e idem.
Detalhes do meu sistema:
$ cat /etc/issue
Ubuntu 14.04.1 LTS \n \l
$ dpkg -s mysql-server | grep version
Version: 5.5.38-0ubuntu0.14.04.1