Bem, primeiro vamos esclarecer que li todas as perguntas do Ask Ubuntu sobre esse problema e segui todas as etapas dos documentos oficiais:
Estou usando o Ubuntu 16.04.1 LTS
Portanto, antes que alguém sugira algo que provavelmente já tentei, vou mostrar o que fiz:
root@localhost:/# sudo /etc/init.d/mysql stop
[ ok ] Stopping mysql (via systemctl): mysql.service.
O MySQL parou corretamente.
root@localhost:/# sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
[1] 3316
root@localhost:/#
Aqui eu não sei se isso estava funcionando ou não, então eu sigo as etapas de qualquer maneira.
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:/#
Parece que não funciona, pois o serviço não foi iniciado. Como não posso continuar com as próximas etapas, tento o outro método (limpeza).
Após o uso:
sudo apt-get --purge remove
sudo apt-get install
Eu tento o próximo passo:
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:/#
Como isso também não funciona, tentei outros métodos mencionados na web do mysql:
Então eu mato o processo mysql como apontado lá e então eu uso
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:/#
Agora é quando eu estava ficando sem opções, então também tento outro método mencionado aqui no 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:/#
E agora estou sem opções, então qualquer sugestão é bem-vinda.
fonte
Não consegui reinstalar o mysql, não importa o que eu tentasse, acabei precisando apenas tentar redefinir a senha.
Eu tive que seguir esta rota no Ubuntu 16.04.1 LTS. Passei uma hora ou mais tentando todas as outras sugestões do site MySql para tudo sobre o SO, bem como as perguntas e respostas do AskUbuntu, finalmente consegui trabalhar com:
Nota: enquanto mostrava Digite a senha para o usuário root, eu não tinha a senha original, então acabou de inserir a mesma senha para ser usada como a nova senha.
Nota: não havia /var/log/mysqld.log apenas /var/log/mysql/error.log
Observe também que isso não funcionou para mim:
sudo dpkg-reconfigure mysql-server-5.7
Nem:
sudo dpkg-reconfigure --force mysql-server-5.5
Crie o diretório de serviço do MySQL.
sudo mkdir /var/run/mysqld
Dê ao usuário do MySQL permissão para gravar no diretório de serviço.
sudo chown mysql: /var/run/mysqld
Então:
execute / usr / bin / mysql_secure_installation
Saída de mysql_secure_installation
fonte
Eu tive o mesmo problema e resolvi-o com:
(Aqui,
authentication_string
mantém o campo da senha.)fonte