Cóż, najpierw wyjaśnijmy, że przeczytałem wszystkie pytania Ask Ubuntu dotyczące tego problemu i wykonałem wszystkie kroki z oficjalnych dokumentów:
Używam Ubuntu 16.04.1 LTS
Zanim ktoś zasugeruje cokolwiek, co prawdopodobnie już próbowałem, pokażę, co zrobiłem:
root@localhost:/# sudo /etc/init.d/mysql stop
[ ok ] Stopping mysql (via systemctl): mysql.service.
MySQL zatrzymał się poprawnie.
root@localhost:/# sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
[1] 3316
root@localhost:/#
Tutaj nie wiem, czy to działało, czy nie, więc i tak wykonuję te czynności.
root@localhost:/# mysql -u root
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
root@localhost:/#
Wygląda na to, że nie działa, ponieważ usługa nie została uruchomiona. Ponieważ nie mogę przejść do następnych kroków, wypróbowuję inną metodę (czyszczenie).
Po użyciu:
sudo apt-get --purge remove
sudo apt-get install
Próbuję następny krok:
root@localhost:/# mysqladmin -u root password MyNewPassword
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
root@localhost:/#
Ponieważ to również nie działa, wypróbowałem inne metody wymienione w sieci mysql:
Więc zabijam proces mysql, jak tam wskazano, a następnie używam
root@localhost:/# mysqld_safe --init-file=/home/me/mysql-init &
[1] 5267
root@localhost:/# 2017-02-01T12:47:49.250083Z mysqld_safe Logging to syslog.
2017-02-01T12:47:49.252427Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2017-02-01T12:47:49.254765Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2017-02-01T12:47:49.257045Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.
[1]+ Salida 1 mysqld_safe --init-file=/home/me/mysql-init
root@localhost:/#
Teraz wychodzę z opcji, więc wypróbowałem także inną metodę wymienioną tutaj w Ask Ubuntu:
root@localhost:/# sudo dpkg-reconfigure mysql-server-5.7
Checking if update is needed.
This installation of MySQL is already upgraded to 5.7.17, use --force if you still need to run mysql_upgrade
root@localhost:/#
A teraz naprawdę brakuje mi opcji, więc wszelkie sugestie są mile widziane.
źródło
Nie mogłem zmusić mysql do ponownej instalacji bez względu na to, co próbowałem, w końcu musiałem po prostu spróbować zresetować hasło.
Musiałem iść tą drogą na Ubuntu 16.04.1 LTS. Spędziłem godzinę lub dłużej próbując wszystkich innych sugestii ze strony MySql do wszystkiego na SO, a także pytania i odpowiedzi AskUbuntu, w końcu udało mi się z tym pracować:
Uwaga: podczas gdy pokazywało Podaj hasło dla użytkownika root, nie miałem oryginalnego hasła, więc właśnie wprowadziłem to samo hasło, które będzie używane jako nowe hasło.
Uwaga: nie było /var/log/mysqld.log tylko /var/log/mysql/error.log
Należy również pamiętać, że to nie działało dla mnie:
sudo dpkg-reconfigure mysql-server-5.7
Nie działało też:
sudo dpkg-reconfigure --force mysql-server-5.5
Utwórz katalog usługi MySQL.
sudo mkdir /var/run/mysqld
Zezwól użytkownikowi MySQL na zapis w katalogu usługi.
sudo chown mysql: /var/run/mysqld
Następnie:
uruchom / usr / bin / mysql_secure_installation
Wyjście z mysql_secure_installation
źródło
Miałem ten sam problem i rozwiązałem go za pomocą:
(Tutaj
authentication_string
znajduje się pole hasła).źródło