O que fazer quando você é atingido pelo bug de instalação do mysql no Ubuntu 16.04LTS:
No meu caso, o problema foi desencadeado por um /etc/mysql/my.cnf.fallback
ausente
arquivo de configuração.
Solução alternativa possível:
Em /var/log/apt/history.log
Start-Date: 2017-01-20 10:42:27
Commandline: aptdaemon role='role-commit-packages' sender=':1.126'
Upgrade: mysql-server-5.7:amd64 (5.7.16-0ubuntu0.16.04.1, 5.7.17-0ubuntu0.16.04.1), mysql-server:amd64 (5.7.16-0ubuntu0.16.04.1, 5.7.17-0ubuntu0.16.04.1), mysql-client:amd64 (5.7.16-0ubuntu0.16.04.1, 5.7.17-0ubuntu0.16.04.1), libmysqlclient20:amd64 (5.7.16-0ubuntu0.16.04.1, 5.7.17-0ubuntu0.16.04.1), libmysqlclient20:i386 (5.7.16-0ubuntu0.16.04.1, 5.7.17-0ubuntu0.16.04.1), mysql-server-core-5.7:amd64 (5.7.16-0ubuntu0.16.04.1, 5.7.17-0ubuntu0.16.04.1)
Error: Sub-process /usr/bin/dpkg returned an error code (1)
End-Date: 2017-01-20 10:42:27
Em /var/log/apt/term.log
Log started: 2017-01-20 10:42:27
Setting up mysql-common (5.7.17-0ubuntu0.16.04.1) ...
update-alternatives: error: alternative path /etc/mysql/my.cnf.fallback doesn't exist
dpkg: error processing package mysql-common (--configure):
subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:
mysql-common
Log ended: 2017-01-20 10:42:27
Então, o problema para mim parece ser a falta do arquivo /etc/mysql/my.cnf.fallback
.
ll /etc/myql
drwxr-xr-x 4 root root 4096 gen 20 10:59 ./
drwxr-xr-x 189 root root 12288 gen 19 12:44 ../
drwxr-xr-x 2 root root 4096 gen 20 09:43 conf.d/
-rw------- 1 root root 317 nov 19 10:57 debian.cnf
-rwxr-xr-x 1 root root 120 ott 24 17:13 debian-start*
lrwxrwxrwx 1 root root 24 nov 18 21:12 my.cnf -> /etc/alternatives/my.cnf
-rw-r--r-- 1 root root 3028 nov 18 21:27 my.cnf.migrated
-rw-r--r-- 1 root root 682 lug 11 2016 mysql.cnf
drwxr-xr-x 2 root root 4096 nov 18 22:24 mysql.conf.d/
Então, porque o symlink:
my.cnf -> /etc/alternatives/my.cnf
aponta de volta para:
/etc/alternatives/my.cnf -> /etc/mysql/mysql.cnf
eu assumi (cruzando meus dedos) que /etc/mysql/mysql.cnf
deveria ser
elegíveis como substituto alternativo:
sudo cp /etc/mysql/mysql.cnf /etc/mysql/my.cnf.fallback
Execute a ferramenta apt para concluir a atualização.
Isso funcionou para mim.
Relatório inicial de erros: link
Título:
Scripts do mantenedor mysql falham se arquivos em /etc/mysql
foram deletados
localmente
Status in mysql-5.5 package in Ubuntu:
Invalid
Status in mysql-5.6 package in Ubuntu:
Invalid
Status in mysql-5.7 package in Ubuntu:
Invalid
Descrição do bug:
Um relatório comum é que os scripts do mantenedor relacionados ao MySQL falharam depois que os arquivos em / etc / mysql / foram deletados. Esse é o comportamento esperado, pois a política é que as modificações dos arquivos conf (por exemplo, arquivos em / etc / mysql /) dos usuários devem ser preservadas.
A lógica é que se você modificou o / etc / mysql /, presume-se que essas modificações são o que você deseja. A embalagem não pode corrigir nenhuma personalização quebrada para você, portanto, por exemplo, se você tiver excluído esses arquivos, o empacotamento será quebrado.
Antes de tentar consertar isso, certifique-se de fazer um backup completo do seu sistema e, em particular, de quaisquer bancos de dados (por padrão, em /var/lib/mysql
), caso sua tentativa resulte na destruição de seus dados.
Para corrigir esta situação, você pode tentar limpar todos os pacotes relacionados ao mysql (particularmente mysql-common, mariadb-server- * e / ou mysql-server- *) e reinstalá-los. Note que apenas removendo os pacotes não funcionará, já que o dpkg irá preservar suas modificações locais em / etc / mysql / como projetado.
Como esse comportamento é por design, isso não é um bug no Ubuntu que será corrigido e, portanto, o status desse bug é definido como Invalid para refletir isso.