Após a atualização para o 15.04, eu me diverti muito conhecendo o systemd. Eu acho que tenho tudo funcionando, exceto que não consigo parar o mysql.service; o comando systemctl simplesmente trava e o mysql continua em execução. Alguém já passou por isso ou pode saber o que está acontecendo?
17
mysql.service
script nativo ou criou o seu próprio?Respostas:
Eu tive o mesmo problema (atualize para 15.04, usando arquivos e configurações oficiais).
Eu tive que fazer as seguintes alterações para poder parar o
mysql
daemon manualmente comsytemctl
e automaticamente na reinicialização / desligamento do sistema:Tornar
/etc/mysql/debian.cnf
legível para omysql
usuário comForneça um
mysql.service
arquivo ligeiramente modificado :Forneça um comando de parada explícito, abrindo o arquivo copiado em um editor:
e adicionando a seguinte linha na
[Service]
seção:No Nano, use Ctrl + O para salvar (modo Linux!), Ctrl + X para sair.
Torne o novo arquivo de serviço conhecido pelo sistema:
fonte
Eu tive o mesmo problema com o Ubuntu 15.10 Desktop e encontrei uma maneira de corrigi-lo:
O parâmetro log_error em /etc/mysql/mysql.conf.d/mysqld.cnf foi comentado. Após descomentar o parâmetro, o systemd encerra o mysqld sem problemas.
fonte
--log-syslog
opção no diário. Talvez um motivo: o sistema de arquivos raiz era o btrfs.Seu problema é thread_pool_size. Se for muito maior que o número de núcleos / threads, você não poderá desligar corretamente a menos que use o comando mysqladmin shutdown.
Ex .: Você possui CPU de 2 núcleos com 4 threads. Se você definir 1-4 - funcionará bem. Se você defini-lo como 16, como recomendado em muitos blogs de 'alto desempenho', ele será prejudicado.
fonte
Eu tive um problema semelhante com o mysql / mariadb falhando ao parar quando instruído pelo systemd , no desligamento ou chamado manualmente com
sudo service mysql stop
.No meu caso, eu estou inicializando o Ubuntu / Windows no modo UEFI, e esses SOs interpretam diferentes horários de hardware, para que ambos os SOs sejam sincronizados com os servidores de horário da Internet ao iniciarem.
O MySQL (e Mariadb) falhou ao parar se a hora do hardware mudou enquanto estava em execução.
Você precisa adiar o início do MySQL até depois da sincronização horária. Idealmente, isso seria feito inserindo uma dependência temporal no mysql com
After: time-sync
mas isso não funcionou para mim.A solução que funcionou para mim (você pode substituir o mysql pelo mariadb para o mesmo efeito):
Desative o mysql com
sudo systemctl disabled mysql.service
Crie um script (verifique se é executável) que iniciará o mysql após algum atraso
/usr/bin/delay_mysql
com o conteúdo:Crie um serviço systemd para executar seu novo script
/etc/systemd/system/delay_mysql.service
com o conteúdo:Registre seu novo serviço com
sudo systemctl enable delay_mysql.service
Isso fará com que seu script seja executado em níveis multiusuário, que no Ubuntu são 3,4,5.
fonte
Apenas ao copiar,
mysql.service
você terá que fazer umchmod
depois.fonte
no meu caso, era incompatibilidade de senha para o usuário de manutenção
debian-sys-maint
entre um/etc/mysql/debian.cnf
e outro no banco de dados MySQL.Este usuário é usado para o desligamento do MySQL e outras funções. Após a atualização do MySQL, pode acontecer que haja uma incompatibilidade de passagem entre arquivo e banco de dados. Isso também pode acontecer se você mover seu banco de dados de um MySQL para outro. Se você importar todos os bancos de dados e usuários de outro MySQL em uma máquina diferente, precisará sincronizar novamente sua
debian-sys-maint
senha de usuário de manutenção ( ).Você precisa fazer: verifique sua senha atual no arquivo ubuntu / debian:
Você pode ver sua senha que o sistema usará aqui:
password = n4aSHUP04s1J32X5
O próximo passo é atualizar o MySQL para a mesma senha: Entre no MySQL:
Digite sua senha para acessar o MySQL
Depois disso, não há mais problemas com o desligamento, sem espera de 10 minutos, sem problemas com a instalação de aplicativos que usam essa conta de manutenção, como phpmyadmin.
ATUALIZAÇÃO: Infelizmente, isso não resolveu o problema. Tornou-o meio aleatório - às vezes eu posso interromper o serviço sem problemas outra vez, quando ele congela.
fonte