Não é possível instalar o mysql corretamente (não inicia?)

1

Eu tenho problemas para instalar o mysql,

sudo apt-get update
sudo apt-get install mysql-server

Eu também tentei:

sudo dpkg -P mysql-server-5.1 mysql-server
sudo apt-get install mysql-server

Eu recebo o seguinte erro:

Job for mysql.service failed because the control process exited with error code.
See "systemctl status mysql.service" and "journalctl -xe" for details.
invoke-rc.d: initscript mysql, action "start" failed.
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: activating (auto-restart) (Result: exit-code) since Mon 2017-05-15 14:43:06 CEST; 5ms ago
  Process: 22585 ExecStartPost=/usr/share/mysql/mysql-systemd-start post (code=exited, status=0/SUCCESS)
  Process: 22584 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE)
  Process: 22576 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
 Main PID: 22584 (code=exited, status=1/FAILURE)
      CPU: 485ms

maj 15 14:43:06 XPS-13-9350 systemd[1]: mysql.service: Unit entered failed state.
maj 15 14:43:06 XPS-13-9350 systemd[1]: mysql.service: Failed with result 'exit-code'.
dpkg: error processing package mysql-server-5.7 (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
 mysql-server depends on mysql-server-5.7; however:
  Package mysql-server-5.7 is not configured yet.

dpkg: error processing package mysql-server (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                          Processing triggers for systemd (232-21ubuntu3) ...
Processing triggers for ureadahead (0.100.0-19) ...
Errors were encountered while processing:
 mysql-server-5.7
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

Se eu digitar mysql , obtenho:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Parece ter sido instalado como se eu fizesse mysql -u root -p Eu recebo a senha, mas nada acontece.

Eu tentei iniciá-lo usando sudo service mysql start , mas recebi essa mensagem de erro no mysql.service:

$ systemctl status mysql.service

● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: activating (start-post) (Result: exit-code) since Mon 2017-05-15 14:24:24 CEST; 13s ago
  Process: 13333 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE)
  Process: 13317 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
 Main PID: 13333 (code=exited, status=1/FAILURE); Control PID: 13334 (mysql-systemd-s)
    Tasks: 2 (limit: 4915)
   Memory: 1.8M
      CPU: 353ms
   CGroup: /system.slice/mysql.service
           └─control
             ├─13334 /bin/bash /usr/share/mysql/mysql-systemd-start post
             └─13397 sleep 1

maj 15 14:24:24 XPS-13-9350 systemd[1]: Starting MySQL Community Server...
maj 15 14:24:26 XPS-13-9350 systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE
    
por Gemtastic 15.05.2017 / 15:12

1 resposta

0

Uma das coisas que podem causar esse problema é quando você já tem uma instância do MySQL em execução. No meu caso, eu tinha uma imagem do Docker de um MySQL rodando enquanto eu estava instalando esta nova.

Se você tiver o Docker instalado, verifique quais imagens você está executando com um simples ps :

$ docker ps

Se você está inseguro sobre se a instância está executando o MySQL na porta padrão, você pode inserir a imagem e efetuar login no cliente MySQL e verificar com qual porta ele está sendo executado:

$ docker exec -it image_name bash
root@<container_id>/# mysql -u username -p
Enter password:
mysql > SHOW GLOBAL VARIABLES LIKE 'PORT';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port          | 3306  |
+---------------+-------+

Ou você pode simplesmente parar a imagem:

$ docker stop image_name

Existem outras maneiras de executar várias instâncias do MySQL de uma vez, se você não tiver o docker, acredito que você possa fazer um ps -a | grep mysql para ver todos ou pelo menos os processos mais óbvios do mysql.

    
por Gemtastic 15.05.2017 / 15:12