Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Muito persistente /opt/lampp/bin/mysql.server:264:kill:nenhum processo. Xampp/ubuntu 16.04


Então esse é um problema muito complicado.

Porque pelo que você descreveu (muito detalhado), ainda existem muitas causas possíveis para esse problema.

PERGUNTA: Então, aqui estão algumas perguntas resumidas para sua (da minha experiência):
  1. Seu MySQL not running aconteceu durante sua primeira inicialização (xampp start / xampp startmysql)?
  2. Depois de instalar o xampp no ​​Linux, você personalizou a configuração do MySQL (padrão etc/my.cnf)?
  3. SE PERSONALIZADO Você personalizou seu diretório de banco de dados para um local diferente (padrão /opt/lampp/var/mysql)?
  4. SE NÃO PERSONALIZADO Como você mencionou, você acessou a linha de comando mysql, tentou SQL em seu banco de dados ou se o banco de dados não estava acessível (o que significa que o servidor mysql, nomeado como mysqld, não foi iniciado corretamente)?
  5. Você inicializou/instalou pessoalmente um banco de dados mysql (padrão bin/mysql_install_db)?Ok, essas perguntas acima devem fornecer uma ideia básica de solução de problemas.

SOLUÇÃO:

1. problema no log de erros

Portanto, este deve ser o problema mais simples e pode nos ajudar a identificar melhor as causas do erro.

Verificar

a) na configuração do MySQL (my.cnf) qual é o seu usuário em execução? este deve ser um parâmetro em [mysqld] user=... (padrão mysql), assumimos nossa configuração definida como mysql

b) você tem uma conta para executar o comando user try terminal id -u mysql , se ele retornar um número de identificação, a conta existe, caso contrário, deve informar no such user . Você precisa ter esse usuário para executar o servidor mysql e gravar o log de erros (observando a segunda parte do registro do terminal, sua conta deve existir)

c) verifique a localização do log de erros da configuração do MySQL (my.cnf), deve estar em [mysqld] como parâmetro log-error=... se não estiver escrito, adicione a ele (deve estar em [mysqld]).

d) verifique todos os diretórios do caminho completo do seu log que (por exemplo /var/log/mysql/error.log)
  • /var deve ter read e execute autoridade para usuário mysql (que é pelo menos ******r-x) pass create file (execute) autoridade
  • /var/log deve ter read e execute autoridade para usuário mysql (que é pelo menos ******r-x) pass create file (execute) autoridade
  • /var/log/mysql deve ter read , write e execute autoridade para usuário mysql (que é ******rwx) criar e escrever autoridade de arquivo

Para que seu arquivo error.log possa ser criado aqui, se ainda não funcionar, tente criá-lo manualmente com proprietário como mysql, grupo como mysql e autoridade de 660.

2. Status de execução do servidor MySQL

existem várias abordagens para verificar isso

a) use mysql.server (padrão bin/mysql.server) para fazer mysql.server status comando. Se o seu servidor MySQL estiver funcionando, ele deve mostrar SUCCESS! MariaDB está em execução.

b) use top comando para verificar se o serviço está em execução, ou use top | grep "mysqld" . mysqld e mysqld_safe deveria nele.

c) faça login na linha de comando do mysql, assim como você fez no registro do terminal 4 (isso funciona em parte) e execute o comando SHOW DATABASES; isso também deve funcionar.

3. Local de banco de dados personalizado faz com que o status do mysql do Xampp não seja executado Este é um problema muito mais profundo, porque confirmei que o servidor MySQL está funcionando corretamente.

Eu fiz
[[email protected] ~]# /opt/lampp/xampp status
Version: XAMPP for Linux 7.4.1
Apache is running.
MySQL is not running.
ProFTPD is running.
[[email protected] ~]# /opt/lampp/bin/mysql.server status
SUCCESS! MariaDB running (xxxx)

Portanto, isso mostra que o xampp está buscando o status do serviço incorretamente (como outro post Banco de dados MySQL inicia no Terminal, mas não no XAMPP )

Eu poderia rastrear em detalhes como o xampp funciona, mas em /opt/lampp/xampp arquivo de script, encontrei /opt/lampp/share/xampp/status e /opt/lampp/share/statusraw

Vá mais longe (tanto /opt/lampp/share/xampp/status e /opt/lampp/share/statusraw Arquivo),
 /opt/lampp/var/mysql/` /bin/hostname`.pid mysqld

Como meu banco de dados foi personalizado para o diretório localizado, isso significa que o arquivo pid não estará em /opt/lampp/var/mysql , e esse status sempre retornará incorretamente.

Então, mudar isso para o meu próprio local do pid do banco de dados resolveu o problema.