Postępowałem zgodnie z instrukcjami na tej stronie, aby zainstalować mysql na Ubuntu 16.04.
Znajduję się w połowie tej strony w sekcji zatytułowanej „Instalowanie i konfigurowanie MySQL” i uruchamiam polecenie sudo apt-get install mysql-server
. Wystąpił błąd, oto wyjście tego błędu w moim terminalu:
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)
To jest moja pierwsza konfiguracja serwera, a także instalacja mysql. Nie jestem pewien, czy może to być możliwa przyczyna błędu, ale wcześniej próbowałem zainstalować mysql, ale nie postępowałem zgodnie z procesem LAMP (jestem tego świadomy) i to się nie powiodło i musiałem odinstalować.
Access denied for user 'debian-sys-maint'@'localhost'
. Skąd pochodzi ten użytkownik? Nie spodziewałbym się, że znajdę go w systemie Ubuntu.debian.cnf
plik. Znalazłem ten stackoverflow.com/questions/11644300/... - i patrząc na odpowiedź, która uzyskała 47 punktów (nie zaakceptowaną odpowiedź), istnieje niedopasowanie hasła. Daję temu szansę - bezskutecznie, ponieważ nie wiem, co to jest hasło!Odpowiedzi:
Ta odpowiedź jest również odpowiedzią na aktualizację 16.04 zepsuła serwer mysql, ale nie mogę odpowiedzieć, ponieważ administrator zablokował ją na 10 punktów reputacji.
Błąd w APT występuje podczas aktualizacji Ubuntu do 16.04 (xenial) i Mysql z 5.5 do 5.7. Z powodu niektórych problemów z pakietowaniem aktualizacja APT kończy się w zawieszeniu, ponieważ skrypt po instalacji Mysql-server-5.7 nie został ukończony.
Aby rozwiązać problem, spróbuj wykonać następujące czynności:
apt purge mysql-server
iapt autoremove
wyczyścić wszystkie ślady starego MYSQL. Dane w bazie danych nie zostaną zniszczone./etc/mysql
katalogu.dpkg -l | grep mysql
apt install mysql-server
żeby zainstalowaćJeśli te kroki kończą się tą samą niekompletną instalacją, spróbuj następnego kroku:
Tail -n 20 /var/log/mysql/error.log
Rozwiąż 2a: Musisz zaktualizować tabele systemowe Mysql z 5.5 do 5.7
Edytuj plik my.cnf, aby w wierszu „[mysqld]” znalazł się wiersz „skip-grant-tables”
service mysql start
, imysql_upgrade --force -u root -p
Rozwiąż 2b: Brakuje pamięci dla puli Mysql Innodb (czy korzystasz z serwera o małym rozmiarze?)
Edytuj plik my.cnf, aby zawierał pod „[mysqld]” wiersz innodb_buffer_pool_size = 20M
domyślna pula innodb to 128 MB, co jest ciasne w maszynie wirtualnej 512 MB
Aby usunąć błąd APT, ponownie zainstaluj po instalacji
źródło
Całkowicie usunięcie mysql i ponowna instalacja były rozwiązaniem, do którego ostatecznie doszedłem. Chociaż raz próbowałem odinstalować i zainstalować ponownie bezskutecznie (co spowodowało, że zadałem to pytanie). Po znalezieniu porady na tej stronie spróbowałem dokładniejszego odinstalowania: Całkowicie odinstaluj MySQL
Postępowanie zgodnie z instrukcjami odinstalowywania i ponowna instalacja rozwiązały problem.
źródło
Kolejne dobre rozwiązanie:
źródło
To działało dla mnie:
To polecenie zapyta Cię, czy chcesz USUNĄĆ swoje bazy danych od
/var/lib/mysql
a także usunie wszystkie inne instancje MySQL!Więc zrób kopię zapasową Twoich baz pierwszy!
Następnie mogłem zainstalować bazę danych, wydając polecenie:
źródło
Spróbuj usunąć wszystkie pakiety i pliki, a następnie ponownie zainstaluj „serwer mysql”
źródło
Najpierw usuń wszystkie pakiety mysql-server:
Następnie zainstaluj:
Lub możesz zrobić:
źródło
rm -rf
bez informowania, jakie informacje to polecenie zniszczy.