Что ж, давайте сначала уточнить, что я прочитал все вопросы от Ask Ubuntu об этой проблеме и выполнил все шаги из официальных документов:
Я использую Ubuntu 16.04.1 LTS
Поэтому, прежде чем кто-то предложит что-то, что я, вероятно, уже попробовал, я собираюсь показать, что я сделал:
root@localhost:/# sudo /etc/init.d/mysql stop
[ ok ] Stopping mysql (via systemctl): mysql.service.
MySQL остановился правильно.
root@localhost:/# sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
[1] 3316
root@localhost:/#
Здесь я не знаю, сработало ли это или нет, поэтому я все равно следую инструкциям.
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:/#
Кажется, это не работает, так как служба не запущена. Поскольку я не могу продолжить со следующих шагов, я пробую другой метод (чистка).
После использования:
sudo apt-get --purge remove
sudo apt-get install
Я пытаюсь сделать следующий шаг:
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:/#
Поскольку это также не работает, я попробовал другие методы, упомянутые в MySQL:
Так что я убиваю MySQL процесс, как указано тут же я использую
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:/#
Теперь, когда у меня выходили из опций, я также попробую другой метод, упомянутый здесь в 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:/#
А сейчас у меня действительно нет вариантов, поэтому любые предложения приветствуются.
источник
Я не мог заставить MySQL переустановить, что бы я ни пытался, мне просто нужно было попытаться сбросить пароль.
Мне пришлось пройти этот маршрут на Ubuntu 16.04.1 LTS. Я потратил час или больше, пробуя все другие предложения с веб-сайта MySql для всего, что касается SO, а также вопросов и ответов AskUbuntu, но, наконец, я начал работать с ним:
Примечание: хотя он показывал «Введите пароль для пользователя root», у меня не было исходного пароля, поэтому я просто введите тот же пароль, который будет использоваться в качестве нового пароля.
Примечание: не было /var/log/mysqld.log только /var/log/mysql/error.log
Также обратите внимание, что это не сработало для меня:
sudo dpkg-reconfigure mysql-server-5.7
И не сделал:
sudo dpkg-reconfigure --force mysql-server-5.5
Создать каталог службы MySQL.
sudo mkdir /var/run/mysqld
Дайте пользователю MySQL разрешение на запись в каталог службы.
sudo chown mysql: /var/run/mysqld
Затем:
Запустите / usr / bin / mysql_secure_installation
Вывод из mysql_secure_installation
источник
У меня была такая же проблема, и я решил ее:
(Здесь
authentication_string
хранится поле пароля.)источник