Errore durante l'installazione di mySql su Ubuntu 16.04


15

Ho seguito le istruzioni in questa pagina per installare mysql su Ubuntu 16.04.

Sono a metà pagina nella sezione intitolata "Installa e configura MySQL" ed eseguo il comando sudo apt-get install mysql-server. Ho riscontrato un errore, tuttavia, ecco l'output di quell'errore nel mio terminale:

Preconfiguring packages ...
Selecting previously unselected package mysql-common.
(Reading database ... 41515 files and directories currently installed.)
Preparing to unpack .../mysql-common_5.7.12-0ubuntu1_all.deb ...
Unpacking mysql-common (5.7.12-0ubuntu1) ...
Selecting previously unselected package mysql-client-5.7.
Preparing to unpack .../mysql-client-5.7_5.7.12-0ubuntu1_amd64.deb ...
Unpacking mysql-client-5.7 (5.7.12-0ubuntu1) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up mysql-common (5.7.12-0ubuntu1) ...
update-alternatives: using /etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf) in auto mode
Selecting previously unselected package mysql-server-5.7.
(Reading database ... 41563 files and directories currently installed.)
Preparing to unpack .../mysql-server-5.7_5.7.12-0ubuntu1_amd64.deb ...
Unpacking mysql-server-5.7 (5.7.12-0ubuntu1) ...
Selecting previously unselected package mysql-server.
Preparing to unpack .../mysql-server_5.7.12-0ubuntu1_all.deb ...
Unpacking mysql-server (5.7.12-0ubuntu1) ...
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for systemd (229-4ubuntu4) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up mysql-client-5.7 (5.7.12-0ubuntu1) ...
Setting up mysql-server-5.7 (5.7.12-0ubuntu1) ...
update-alternatives: using /etc/mysql/mysql.cnf to provide /etc/mysql/my.cnf (my.cnf) in auto mode
mysql_upgrade: Got error: 1045: Access denied for user 'debian-sys-maint'@'localhost' (using password: YES) while connecting to the MySQL server
Upgrade process encountered error and will not continue.
mysql_upgrade failed with exit status 11
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
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for systemd (229-4ubuntu4) ...
Errors were encountered while processing:
 mysql-server-5.7
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

Questa è la prima volta che installo un server e installo anche mysql. Non sono sicuro che questa possa essere una possibile causa dell'errore, ma in precedenza avevo provato a installare mysql ma non seguendo il processo LAMP (sto scoprendo questo problema) e che non ha avuto successo e ho dovuto disinstallarlo.


Benvenuto in AskUbuntu. Nel tuo registro c'è una linea Access denied for user 'debian-sys-maint'@'localhost'. Da dove viene quell'utente? Non mi aspetterei di trovarlo su un sistema Ubuntu.
Guntbert,

Ciao Guntbert - con un po 'di ricerca sembra il suo debian.cnffile. Ho trovato questo stackoverflow.com/questions/11644300/… - e guardando la risposta che ha ottenuto 47 punti (non la risposta accettata) c'è una mancata corrispondenza della password. Ci sto provando - senza successo, dato che non so quale password sia cosa!
Darren Haynes,

Questa risposta mi risolve il problema senza eliminare mysql: /ubuntu//a/793545/597698
Elkana Bardugo

Risposte:


17

Questa risposta è anche in risposta all'aggiornamento 16.04 ha rotto mysql-server ma a cui non posso rispondere perché l'amministratore lo ha bloccato su 10 reputazione.

L'errore in APT si verifica durante l'aggiornamento di Ubuntu a 16.04 (xenial) e Mysql da 5.5 a 5.7. A causa di alcuni problemi di packaging, l'aggiornamento APT termina in un limbo perché lo script post installazione di Mysql-server-5.7 non viene completato.

Per risolvere il problema, provare questi passaggi:

  1. apt purge mysql-server e apt autoremoveper pulire tutte le tracce del vecchio MYSQL. I dati del database non verranno distrutti.
  2. Rimuovi tutto dalla /etc/mysqldirectory.
  3. Verifica che non siano installati vecchi pacchetti Mysql: dpkg -l | grep mysql
  4. apt install mysql-server installare

Se questi passaggi terminano nella stessa installazione incompleta, provare il passaggio successivo:

  1. Tail -n 20 /var/log/mysql/error.log
  2. Gli errori potrebbero essere a. password errata per debian-sys-maint b. nessuna memoria per Innodb

Risolvi 2a: è necessario aggiornare le tabelle di sistema Mysql da 5.5 a 5.7

Modifica my.cnf per includere sotto '[mysqld]' la riga "skip-grant-tables" service mysql start, emysql_upgrade --force -u root -p

Risolvi 2b: memoria insufficiente per il pool di Mysql Innodb (sei su un server di dimensioni ridotte?)

Modifica my.cnf per includere in '[mysqld]' la riga innodb_buffer_pool_size = 20M

il pool innodb predefinito è 128M, che è stretto in una VM da 512 MB

Per cancellare l'errore APT, ripetere l'installazione dopo l'installazione

dpkg --configure -a

Eliminerà i database o rimarrà al sicuro?
Thirumal

5

Rimuovere completamente mysql e reinstallare è stata la soluzione alla fine. Anche se avevo provato a disinstallare e reinstallare una volta senza successo (portandomi così a porre questa domanda). Ho provato una disinstallazione più approfondita dopo aver trovato i consigli in questa pagina: disinstallare completamente MySQL

Seguire le istruzioni di disinstallazione e reinstallare il problema risolto.


5

Un'altra buona soluzione:

sudo apt-get purge mysql* && sudo apt-get install mysql-server

3

Questo ha funzionato per me:

sudo apt-get remove --purge mysql*

Questo comando chiederà se si desidera rimuovere il database da /var/lib/mysqle anche rimuoverà tutte le altre istanze di MySQL!

Quindi crea prima un BACKUP dei tuoi database!

Dopo questo ho potuto installare il database emettendo il comando:

sudo apt-get install mysql-server

1

Prova a rimuovere tutti i pacchetti e file, quindi reinstalla il "server mysql"

sudo apt-get remove --purge mysql-\*
sudo rm -rf /var/lib/mysql

sudo apt-get install mysql-server 

1

Per prima cosa devi rimuovere tutti i pacchetti di mysql-server:

sudo rm -rf /var/lib/mysql

Quindi installare:

sudo apt-get install lamp-server^

Oppure puoi fare:

sudo apt-get install mysql-server

1
Per favore, non pubblicare rm -rf senza dire che tipo di informazioni questo comando distruggerà.
Brian Ng,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.