Como redefinir ou alterar a senha root do MySQL?


179

Como altero a senha root e o nome de usuário do MySQL no servidor ubuntu? Preciso parar o serviço mysql antes de definir alguma alteração?

Também tenho uma configuração do phpmyadmin. O phpmyadmin será atualizado automaticamente?


Se você não precisar dos dados, poderá "redefinir" a senha removendo o mysql por inteiro: stackoverflow.com/questions/10853004/… e instalá-lo novamente (ele solicitará a "nova" senha raiz) FWIW: )
rogerdpack 12/01

Você conhece a senha root do MySQL?
Franck Dernoncourt

2
No mysql-server-5.7 esses métodos não funcionam. usar 'sudo' sem senha, como mencionado no askubuntu.com/a/848504
Pragalathan M

Respostas:


225

Defina / altere / redefina a senha de root do MySQL no Ubuntu Linux. Digite as seguintes linhas no seu terminal.

  1. Pare o servidor MySQL: sudo /etc/init.d/mysql stop
  2. Inicie a mysqldconfiguração:sudo mysqld --skip-grant-tables &

    Em alguns casos, você deve criar o /var/run/mysqldprimeiro:

    sudo mkdir -v /var/run/mysqld && sudo chown mysql /var/run/mysqld
  3. Corre: sudo service mysql start
  4. Entre no MySQL como root: mysql -u root mysql
  5. Substitua YOURNEWPASSWORDpor sua nova senha:

    UPDATE
      mysql.user
    SET
      Password = PASSWORD('YOURNEWPASSWORD')
    WHERE
      User = 'root';
    FLUSH PRIVILEGES;
    exit;

Nota: em algumas versões, se a passwordcoluna não existir, você pode tentar:
UPDATE user SET authentication_string=password('YOURNEWPASSWORD') WHERE user='root';

Nota: Esse método não é considerado a maneira mais segura de redefinir a senha; no entanto, ele funciona.

Referências:

  1. Definir / Alterar / Redefinir a senha root do MySQL no Ubuntu Linux
  2. Como redefinir a senha raiz

20
Obviamente, após esse ponto, você precisará interromper o processo do servidor temporário e sem senha que você iniciou na etapa 2. talvez use sudo killall -9 mysqld? e depois sudo service mysql startreiniciar o daemon normal ...
Lambart 08/12/13

7
O método nesta resposta é necessário apenas para redefinir uma senha root do MySQL que você não conhece [fonte ]. Se você souber, a SET PASSWORDinstrução MySQL é para você.
tanius

53
Eu segui até a terceira etapa e recebo Não é possível conectar-se ao servidor MySQL local através do soquete '/var/run/mysqld/mysqld.sock' (2) quando eu
faço

12
em alguns casos, você também precisa executar mkdir /var/run/mysqlde chown mysql: /var/run/mysqldentre as etapas 1 e 2
Neville Nazerane

9
o passo 3 não funcionou para mim no Ubuntu 18.04. Eu só logado usando sudo mysql
itsols

120

O único método que funcionou para mim é o descrito aqui (estou executando o ubuntu 14.04). Por uma questão de clareza, estes são os passos que segui:

  1. sudo vim /etc/mysql/my.cnf
  2. Adicione as seguintes linhas no final:

    [mysqld]
    
    ignorar-conceder-tabelas
  3. sudo service mysql restart

  4. mysql -u root

  5. use mysql

  6. select * from mysql.user where user = 'root';- Olhe para o topo para determinar se a coluna da senha é chamada de senha ou authentication_string

  7. UPDATE mysql.user set *password_field from above* = PASSWORD('your_new_password') where user = 'root' and host = 'localhost'; - Use a coluna de senha apropriada acima

  8. FLUSH PRIVILEGES;

  9. exit

  10. sudo vim /etc/mysql/my.cnf

  11. Remova as linhas adicionadas na etapa 2 se desejar manter seus padrões de segurança.

  12. sudo service mysql restart

Para referência: https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html


8
Finalmente, isso funcionou para mim! Estou executando o MySQL 5.7.18 no Ubuntu 16.04. Eu tentei o dpkg-reconfigure, a resposta de Anvesh, a resposta de Christian Mark e até as instruções na página de ajuda do MySQL.
Mbuc91

9
Eu tive que executar o UPDATE mysql.user SET authentication_string = PASSWORD ('newpwd') WHERE User = 'root'; em vez da linha 5.
mbuc91

2
A única solução que funcionou para mim. Tenho o Ubuntu 17.04 e o mysql 5.7
Mohamed

1
Infelizmente isso não funciona para mim mysql 5.7.22 ubuntu 18.04
Mario

1
Tudo estava funcionando como esperado. Mas quando a tentar entrar ele está dizendo Introduzir a senha: ERROR 1698 (28000): Acesso negado para o usuário 'root' @ 'localhost'
Dipak Chatterjee

101

A maneira oficial e fácil de redefinir a senha root em um servidor ubuntu ...

Se você estiver em 16.04, 14.04, 12.04:

sudo dpkg-reconfigure mysql-server-5.5

Se você estiver no 10.04:

sudo dpkg-reconfigure mysql-server-5.1

Se você não tiver certeza de qual versão do servidor mysql está instalada, tente:

dpkg --get-selections | grep mysql-server

Notas atualizadas para mysql-server-5.7

Note que se você estiver usando o mysql-server-5.7, não poderá usar o método dpkg-reconfigure mais fácil, mostrado acima.

Se você souber a senha, faça o login e execute:

UPDATE mysql.user SET authentication_string=PASSWORD('my-new-password') WHERE USER='root';
FLUSH PRIVILEGES;

Como alternativa, você pode usar o seguinte:

sudo mysql_secure_installation

Isso fará uma série de perguntas sobre como proteger sua instalação (altamente recomendado), incluindo se você deseja fornecer uma nova senha root.

Se você NÃO souber a senha root, consulte esta redação centrada no Ubuntu no processo .

Veja para mais informações:

https://help.ubuntu.com/16.04/serverguide/mysql.html https://help.ubuntu.com/14.04/serverguide/mysql.html


3
Funciona mesmo quando você perdeu a senha root original do MySQL - legal.
tanius

4
Trabalha comVer 14.14 Distrib 5.5.38, for debian-linux-gnu
justinpage 14/09

Trabalhou com mysql v 5.0, bem ...sudo dpkg-reconfigure mysql-server-5.0
dsghi

4
O sudo dpkg-reconfigure mysql-server-5.7 não funciona no Ubuntu 18.04 para redefinir a senha root. Alguma outra alternativa?
Jagdeep Singh

Ubuntu:sudo dpkg-reconfigure mysql-server-5.7; sudo mysql_secure_installation
kenorb

77

O que funcionou para mim (Ubuntu 16.04, mysql 5.7):

Pare o MySQL

sudo service mysql stop

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

Inicie o MySQL manualmente, sem verificações de permissão ou rede.

sudo mysqld_safe --skip-grant-tables --skip-networking &

Em outro console, efetue login sem uma senha.

mysql -uroot mysql

Então:

UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='localhost';
EXIT;

Desative o MySQL.

sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown

Inicie o serviço MySQL normalmente.

sudo service mysql start

As outras maneiras não funcionaram para mim, mas esta (obrigado!), Ou você também pode ir aqui rricketts.com/reset-root-password-mysql-5-7-ubuntu-16-04-lts
Dung

10
Muito útil ! No meu caso específico (Ubuntu 18.04 LTS), eu tive que substituir a máquina '%' para 'localhost'
Frederick

Isso não funcionou no ubuntu 18.04. Mas funcionou com esta pequena alteração descrita aqui stackoverflow.com/a/53385753/1591143 #
Aleksandar Popovic

76

Estou compartilhando a solução final passo a passo para redefinir uma senha do MySQL no Linux Ubuntu.

Referência retirada do blog (dbrnd.com)

Etapa 1: Interrompa o serviço MySQL.

sudo stop mysql

Etapa 2: Mate todos os mysqld em execução.

sudo killall -9 mysqld

Etapa 3: Iniciando o mysqld no modo de Segurança.

sudo mysqld_safe --skip-grant-tables --skip-networking &

Etapa 4: Inicie o cliente mysql

mysql -u root

Etapa 5: Após o login bem-sucedido, execute este comando para alterar qualquer senha.

FLUSH PRIVILEGES;

Etapa 6: você pode atualizar a senha root do mysql.

UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';

Nota : No MySQL 5.7, a coluna Passwordé chamadaauthentication_string .

Etapa 7: Por favor, execute este comando.

FLUSH PRIVILEGES;

De fato. Além disso, está mais próximo da documentação oficial . Caso você se depare com isso: "ERRO 1524 (HY000): o plug-in 'auth_socket' não está carregado”, dê uma olhada em stackoverflow.com/questions/37879448/…
Wtower

Eu também tive que mudar o mysql.user.plugin de 'auth_socket' para 'mysql_native_password' para o meu usuário root com o host 'localhost'.
Brandon

1
Eu tive que usar "sudo /etc/init.d/mysql stop" para parar o serviço e "UPDATE mysql.user SET authentication_string = PASSWORD ('newpwd') WHERE User = 'root';" para atualizar a senha
L Bahr

1
_string autenticado ajudou
Faiyaz Md Abdul

42

Enfrentei problemas com o ubuntu 18.04 e o mysql 5.7, esta é a solução

Tente reiniciar o mysql-server antes de executar os comandos

sudo service mysql restart

MYSQL-SERVER> = 5.7

sudo mysql -uroot -p
USE mysql;
UPDATE user SET authentication_string=PASSWORD('YOUR_PASSWORD') WHERE User='root';
UPDATE user SET plugin="mysql_native_password";
FLUSH PRIVILEGES;
quit;

MYSQL-SERVER <5.7

sudo mysql -uroot -p
USE mysql;
UPDATE user SET password=PASSWORD('YOUR_PASSWORD') WHERE User='root';
UPDATE user SET plugin="mysql_native_password";
FLUSH PRIVILEGES;
quit;

1
Obrigado, também estou executando o Ubuntu 18.04 aqui e a MYSQL-SERVER >= 5.7versão foi a única coisa que realmente resolveu o problema
Miguelgraz

1
Este é o que trabalhou na instalação do mysql do Ubuntu 18.04. MYSQL-SERVER >= 5.7versão para ser preciso.
Manohar Sathish

34

Mude a senha root do MySQL.

Este método expõe a senha ao histórico da linha de comandos; esses comandos devem ser executados como raiz.

  1. Entre através da ferramenta de linha de comando mysql:

    mysql -uroot -poldpassword
  2. Execute este comando:

    SET PASSWORD FOR root@'localhost' = PASSWORD('newpassword');

ou

  1. Execute este comando, que define uma senha para o usuário atual ('root' para este caso):

    SET PASSWORD = PASSWORD ('nova senha');


26

Inicialmente, execute este comando:

sudo mysql

e então você deve verificar qual método de autenticação de suas contas de usuário MySQL usa.

SELECT user,authentication_string,plugin,host FROM mysql.user;

agora você já pode ver algo assim:

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             |                                           | auth_socket           | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+

na tabela acima, você pode ver o status de todas as contas de usuários mysql e se você definiu uma senha para a conta root antes de ver mysql_native_passwordna coluna do plugin auth_socket. Em resumo, para alterar sua senha root, você deve executar:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Certifique-se de alterar a senha para uma senha forte de sua escolha. Em seguida, para recarregar o servidor para efetivar suas novas alterações, execute isso;

FLUSH PRIVILEGES;

Então, novamente verifique os métodos de autenticação empregados pelo seu mysql, por este comando:

SELECT user,authentication_string,plugin,host FROM mysql.user;

e agora a saída é:

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             | *3636DACC8616D997782ADD0839F92C1571D6D78F | mysql_native_password | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+

como você pode ver na tabela de permissões que sua conta root possui mysql_native_password . agora você pode sair do shell MYSQL

exit;

É isso aí. Você deve reiniciar o mysql sudo service mysql restart. Agora você pode acessar o mysql como uma conta root com sua senha facilmente.


Eu acho que isso é da DigitalOcean, que foi a única solução que funcionou para mim no Ubuntu 18.04 em execução no Virtual Box
Kemal

funciona perfeitamente no ubuntu 18.04. Obrigado.
mahfuz 6/07

12

Se você deseja alterar a senha root do MySQL, em um terminal, digite:

sudo dpkg-reconfigure mysql-server-5.5

O daemon do MySQL será parado e você será solicitado a inserir uma nova senha.


1
Essa é uma maneira muito melhor de fazer isso. Eu era incapaz de executar os comandos anteriores por causa de algum erro mysql ...
Andy

O sudo dpkg-reconfigure o mysql-server-5.7 no ubuntu 16.04
Nick Barrett

2
Corri sudo dpkg-reconfigure mysql-server-5.7no Ubuntu 16.04, ele não solicitou a digitação de uma nova senha.
Franck Dernoncourt 22/01

Se ele diz mysql-server is broken or not fully installed, pode-se usar sudo apt purge mysql*esudo apt install mysql-server
Pavel

12

Isso funciona como charme, eu fiz isso no Ubuntu 16.04. Crédito total para o link abaixo, como o recebi de lá. [ https://coderwall.com/p/j9btlg/reset-the-mysql-5-7-root-password-in-ubuntu-16-04-lts[[1]

Pare o MySQL

sudo service mysql stop

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

Inicie o MySQL manualmente, sem verificações de permissão ou rede.

sudo mysqld_safe --skip-grant-tables --skip-networking &

Faça login sem uma senha.

mysql -uroot mysql

Atualize a senha do usuário root. verifique se a conta raiz pelo menos é atualizada pela consulta abaixo. faça alguma seleção e verifique os valores existentes, se quiser

UPDATE mysql.user SET 
authentication_string=PASSWORD('YOURNEWPASSWORD'), 
plugin='mysql_native_password' WHERE User='root';
EXIT;

Desative o MySQL.

sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown

Inicie o serviço MySQL normalmente.

sudo service mysql start

11
  1. Parar o serviço sudo MySQL mysql stop

  2. Crie o diretório de serviço do MySQL. sudo mkdir / var / run / mysqld

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

  4. Inicie o MySQL manualmente, sem verificações de permissão ou rede. sudo mysqld_safe --skip-grant-tables --skip-networking &

5.Faça login sem uma senha. mysql -uroot mysql

6. Atualize a senha do usuário root.

UPDATE mysql.user SET authentication_string = PASSWORD ('YOURNEWPASSWORD'), plugin = 'mysql_native_password' WHERE Usuário = 'root' AND Host = '%'; SAÍDA;

  1. Desative o MySQL. sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown

  2. Inicie o serviço MySQL normalmente. serviço sudo mysql start


1
Olá, esta resposta funciona para mim, mas tive que usar outro comando: UPDATE mysql.user SET authentication_string=PASSWORD('solutionclub3@*^G'), plugin='mysql_native_password' WHERE User='root';sem AND Host='%'. Obrigado!
David Corral

10

Esta solução pertence à versão anterior do MySQL. Ao fazer login no MySQL usando autenticação de soquete, você pode fazê-lo.

sudo mysql -u root

Em seguida, o seguinte comando pode ser executado.

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Os detalhes estão disponíveis aqui .


1
Não consegui fazer o login como, sudo mysql -u rootmas consegui fazê-lo sudo mysqle executar o ALTER USERcomando.
itsols

Eu estava recebendo este erro: "Sua senha não atende aos requisitos atuais da política". Consegui corrigir isso aqui: stackoverflow.com/a/43094873/9073437 . Depois de definir uma política de senha modificada, tudo funcionou bem.
Grandtour

10

Esta é a solução para mim. Eu trabalho no Ubuntu 18.04: https://stackoverflow.com/a/46076838/2400373

Mas é importante essa alteração na última etapa:

UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='localhost'; 

Poxa! Muito obrigado! Esta é a única maneira que estava funcionando no meu caso. Esqueça esse script estúpido de instalação segura, pois mantinha meu 5,7 instalado recentemente, aberto aos usuários, sem nunca pedir uma senha ... se o Linux / Ubuntu é para usuários preocupados com a segurança, por que é tão difícil proteger um aplicativo crucial como o servidor MySQL ?
21819 Thomas Urban

7

Para Ubuntu 18.04 e mysql versão 14.14 Distrib 5.7.22, siga a etapa abaixo para redefinir a senha do mysql.

Passo 1

sudo systemctl stop mysql

Passo 2

sudo systemctl edit mysql

Este comando abrirá um novo arquivo no editor nano, que você usará para editar as substituições de serviço do MySQL. Isso altera os parâmetros de serviço padrão para o MySQL. Este arquivo estará vazio, então adicione o seguinte conteúdo:

[Service]
ExecStart=
ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid --skip-grant-tables --skip-networking

etapa 3

sudo systemctl daemon-reload
sudo systemctl start mysql

Passo 4

sudo mysql -u root

Etapa 5

FLUSH PRIVILEGES;

Etapa 6

UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHEREuser = 'root';

Etapa 7

UPDATE mysql.user SET plugin ='mysql_native_password' WHERE user = 'root';

Etapa 8

sudo systemctl revert mysql

e finalmente

sudo systemctl restart mysql

Agora aproveite


Acho que você perdeu o conteúdo da etapa 2. Está incompleto.
Lucas Mendes Mota Da Fonseca

6

Fazendo eco do comentário do rogerdpack: se você não conhece a senha root do MySQL e não se importa com os dados / configurações do MySQL, pode reinstalá-lo e redefinir a senha do root da seguinte maneira:

sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo rm -rf /var/lib/mysql
sudo apt-get install -y mysql-server mysql-client 

Durante a instalação, você pode escolher a senha do root:

insira a descrição da imagem aqui


2
Eu gostaria de ter começado aqui em vez de perder uma hora batendo minha cabeça ao tentar redefinir a senha.
Eric Seastrand 12/09

3

Se você conhece sua senha atual, não precisa parar o servidor mysql. Abra o terminal do ubuntu. Entre no mysql usando:

mysql - username -p

Em seguida, digite sua senha. Isso o levará ao console do mysql. Dentro do console, digite:

> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

Em seguida, limpe os privilégios usando:

> flush privileges;

Então você está pronto.


2

Quando você usa o MySQL PASSWORD()no sistema em que deseja alterar a senha, isso pode fazer com que a senha apareça em um log do MySQL em texto não criptografado [ fonte ]. Mantê-los, seus backups, etc., tão seguros quanto a senha, parece um pesadelo para mim, então eu gosto de fazê-lo da seguinte maneira:

  1. Na sua máquina local , execute isso com sua senha:

     mysql -u someuser -p < <(echo "SELECT PASSWORD('mypass');")

    Observe o espaço à frente para impedir que ele apareça no histórico do bash (para outras distribuições que não o Ubuntu, isso pode funcionar de maneira diferente - fonte ).

  2. Na sua máquina servidor, execute o seguinte comando para alterar sua senha root do MySQL (substitua myhashpelo hash da sua senha conforme impresso pelo primeiro comando):

    mysql -u root -p < <(echo "SET PASSWORD FOR root@localhost = 'myhash';")
  3. Opcionalmente, vamos ficar um pouco paranóicos: na sua máquina local, limpe a tela do terminal cleare limpe a rolagem do terminal virtual, para ocultar a senha de texto não criptografado que aparece no comando acima.


2

Para atualizar a senha de usuário "root" do Mysql, você deve ter em mente que precisará de permissões de superusuário para isso. Se você tiver privilégios de superusuário, tente os seguintes comandos:

MySQL 5.7.6 e posterior

sudo su
service mysql stop
mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
\q;
exit
mysql -u root -p MyNewPass

MySQL 5.7.5 e versões anteriores

sudo su
service mysql stop
mysql -u root
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
\q;
exit
mysql -u root -p MyNewPass

2

Você não precisa de tudo isso. Basta fazer login:

mysql -u root -p

Em seguida, altere a senha do usuário atual como o mysql>prompt:

mysql> set password=password('the_new_password');
mysql> flush privileges;

1
Esta é uma maneira mais simples! Ele funciona para mim com o mysql 5.7.21-0ubuntu0.17.10.1 #
Sergio Belevskij


1

Em vez de redefinir a senha, há uma solução alternativa na máquina local se você tiver configurado phpmyadmina conexão sem fornecer a senha ou o nome de usuário. Verifique isso iniciando mysql, apacheetc. Eu xamppinstalei na minha máquina local. Portanto, iniciar o xampp iniciará todos os serviços necessários. Agora vou http://localhost/phpmyadminme mostrar todos os bancos de dados. Isso confirma que você salvou o nome de usuário e a senha no arquivo de configuração do phpmyadmin, que pode ser encontrado no phpmyadminlocal da instalação. Se você xamppinstalou, a phpmyadminpasta pode ser encontrada na pasta raiz da xamppinstalação. Procure a palavra passwordno config.inc.phparquivo. Lá você encontrará o password e username.


1

Você pode facilmente mudar a senha do mysql se implantada no xampp através do phpadmin gui fornecido.

phpMyAdmin -> User Accounts -> Edit Privileges (Select the intended user) -> Change Password (Tab)

1

para o mysql 5.6, este comando funciona e você pode definir a senha através do assistente:

sudo dpkg-reconfigure mysql-server-5.6

Eu tentei, mas não está funcionando .. Estou recebendo este erro abaixo .. poderia ajudar? Esta instalação do MySQL já foi atualizada para 5.7.21, use --force se você ainda precisar executar o mysql_upgrade
Vijaysinh Parmar

1

Você pode tentar estas etapas para redefinir a senha root do mysql 5.7:

Parar o Serviço Mysql

sudo /etc/init.d/mysql stop 

Efetue login como root sem senha sudo mysqld_safe --skip-grant-tables e

Após o login no terminal mysql, você deve executar mais os comandos:

use mysql;




UPDATE mysql.user SET authentication_string=PASSWORD('solutionclub3@*^G'), plugin='mysql_native_password' WHERE User='root';


flush privileges;


sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown

Depois de reiniciar o servidor mysql Se você ainda está enfrentando um erro, deve visitar: Redefinir a senha root do MySQL 5.7 Ubuntu 16.04


1

Você pode usar este comando:

UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';

depois disso, use flush:

FLUSH PRIVILEGES;

1

Definindo a senha do MySQL

  1. parar o serviço de banco de dados MySQL

sudo /etc/init.d/mysql stop

  1. crie um novo diretório mysqld

sudo mkdir / var / run / mysqld /

  1. dar acesso ao usuário mysql

sudo chown mysql / var / run / mysqld /

  1. inicie o MySQL no modo de segurança ...

sudo mysqld_safe --skip-grant-tables &

  1. logon no servidor de banco de dados sem uma senha

raiz do sudo mysql -u

  1. use o banco de dados mysql padrão

use mysql;

  1. alterar a senha root

update user set authentication_string=PASSWORD("New_Passwore_Here") where Usuário = 'root';

  1. Salve as alterações

    privilégios de liberação; Saída;

  2. pare o MySQL safe_mode e inicie o serviço padrão do MySQL

sudo /etc/init.d/mysql stop

sudo /etc/init.d/mysql start

  1. faça logon no banco de dados MySQL usando a nova senha raiz

sudo mysql -u raiz -p

*** Fonte: https://websiteforstudents.com/resetting-mysql-root-password-on-ubuntu-16-04-17-10-and-18-04-lts/


1

Se você souber a senha de usuário 'root', efetue login no mysql com essas credenciais. Em seguida, execute a seguinte consulta para atualizar a senha.

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_passowrd';

0

ao alterar / redefinir a senha do MySQL, os seguintes comandos listados acima não ajudaram. Descobri que entrar no terminal e usar esses comandos não faz sentido. em vez disso, use o comando sudo para tudo. DELETE SYSTEM 32 para Windows, se isso ajudar.


1
A questão é sobre o ubuntusistema operacional e não o Windows. O que você quer dizer com DELETE SYSTEM 32 para Windows ?
precisa saber é o seguinte

0

Para redefinir ou alterar a senha, digite sudo dpkg-reconfigure mysql-server-X.X(XX é a versão mysql que você instalou, isto é, 5.6, 5.7) e, em seguida, será exibida uma tela na qual é necessário definir a nova senha e, na próxima etapa, confirme a senha e aguarde um momento. É isso aí.


0

Eu tive que seguir esta rota no Ubuntu 16.04.1 LTS. É uma mistura de algumas das outras respostas acima - mas nenhuma delas ajudou. Passei uma hora ou mais tentando todas as outras sugestões do site MySql para tudo no SO, finalmente consegui trabalhar com:

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

  1. matar o atual mysqld pid
  2. execute o mysqld com o sudo / usr / sbin / mysqld e
  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 a raiz do usuário:

    O VALIDAR SENHA PLUGIN pode ser usado para testar senhas e melhorar a segurança. Ele verifica a força da senha e permite que os usuários definam apenas as senhas que são suficientemente seguras. Deseja configurar o plugin VALIDATE PASSWORD?

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

    Nova senha:

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

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

    Normalmente, o root só deve ter permissão para se conectar a partir de 'localhost'. Isso garante que alguém não consiga adivinhar a senha raiz da rede.

    Proibir o 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 'teste' que qualquer pessoa pode acessar. Isso também se destina apenas a testes e deve ser removido antes de entrar em um ambiente de produção.

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

    • Soltando 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 feitas até agora entrem em vigor imediatamente.

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

    Tudo feito!

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.