Não é possível redefinir a senha de root do MySQL, tentei o everthing

5

Bem, primeiro vamos esclarecer que li todas as perguntas do Ask Ubuntu sobre esse problema e segui todos os passos dos documentos oficiais:

link link

Estou usando o Ubuntu 16.04.1 LTS

Então, antes que alguém sugira algo que eu provavelmente já tentei, mostrarei 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 os passos 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 é iniciado. Como não posso continuar com os próximos passos, tento o outro método (purga).

Depois de usar:

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, eu 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 saindo das opções, então eu também tentei 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 realmente sem opções, portanto, qualquer sugestão é bem-vinda.

    
por Ilovelinux 01.02.2017 / 13:54

2 respostas

13

Eu tive o mesmo problema e resolvi-o executando esta linha:

$ sudo mkdir /var/run/mysqld; sudo chown mysql /var/run/mysqld

antes de executar esta linha:

root@localhost:/# mysqld_safe --init-file=/home/me/mysql-init &

Para mim, estas etapas funcionaram melhor.

Acho que existe uma maneira mais clara de fazer isso, mas para mim foi uma solução rápida e eficiente.

    
por odradek 01.02.2017 / 15:52
0

Eu não consegui reinstalar o mysql, não importa o que eu tentei, acabei precisando apenas tentar redefinir a senha.

Eu tive que seguir essa rota no Ubuntu 16.04.1 LTS. Eu gastei uma hora ou mais tentando todas as outras sugestões do site MySql para tudo sobre o SO, assim como o AskUbuntu Q & amp; A, e finalmente consegui trabalhar com:

Nota: enquanto mostrava Digite a senha para o usuário root, eu não tinha a senha original, então eu inseri 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

Faça o diretório do serviço MySQL. sudo mkdir /var/run/mysqld

Dê permissão ao usuário do MySQL para gravar no diretório de serviço. sudo chown mysql: /var/run/mysqld

Então:

  1. mata o pid atual do mysqld
  2. execute o mysqld com sudo / usr / sbin / mysqld & amp;
  3. execute / usr / bin / mysql_secure_installation

    Saída de mysql_secure_installation

      

    root @ myServer: ~ # / usr / bin / mysql_secure_installation

         

    Protegendo a implantação do servidor MySQL.

         

    Digite a senha para o usuário root:

         

    VALIDATE PASSWORD PLUGIN pode ser usado para testar senhas   e melhorar a segurança. Verifica a força da senha   e permite que os usuários definam apenas as senhas que são   seguro o suficiente. Gostaria de configurar o plugin VALIDATE PASSWORD?

         

    Prima y | Y para Sim, qualquer outra chave para Não: não   Usando a senha existente para root.   Alterar a senha do root? ((Pressione y | Y para Sim, qualquer outra tecla para Não): y

         

    Nova senha:

         

    Digite novamente a nova senha:   Por padrão, uma instalação do MySQL tem um usuário anônimo,   permitindo que qualquer um faça o login no MySQL sem ter que ter   uma conta de usuário criada para eles. Isto é destinado apenas para   teste, e para tornar a instalação um pouco mais suave.   Você deve removê-los antes de passar para uma produção   meio ambiente.

         

    Remover usuários anônimos? (Pressione y | Y para Sim, qualquer outra tecla para Não): y   Sucesso.

         

    Normalmente, a raiz só deve poder se conectar a partir de   'localhost'. Isso garante que alguém não possa adivinhar   a senha raiz da rede.

         

    Desativar login root remotamente? (Pressione y | Y para Sim, qualquer outra tecla para Não): y   Sucesso.

         

    Por padrão, o MySQL vem com um banco de dados chamado 'test' que   qualquer um pode acessar. Isso também é destinado apenas para testes,   e deve ser removido antes de passar para uma produção   meio ambiente.

         

    Remover banco de dados de teste e acesso a ele? (Pressione y | Y para Sim, qualquer outra tecla para Não): y

         
    • Eliminando banco de dados de teste ...   Sucesso.

    •   
    • Removendo privilégios no banco de dados de teste ...   Sucesso.

    •   

    Recarregar as tabelas de privilégios garantirá que todas as alterações   feito até agora entrará em vigor imediatamente.

         

    Recarregue as tabelas de privilégios agora? (Pressione y | Y para Sim, qualquer outra tecla para Não): y   Sucesso.

         

    Tudo pronto!

por JGlass 04.02.2018 / 01:24