"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Retomar o controle do usuário root no MySQL

Retomar o controle do usuário root no MySQL

Publicado em 2024-08-26
Navegar:880

Retake control of the root user in MySQL

Quando você instalou o MySQL pela primeira vez, você não pode fazer login sem senha.
Você deve adicionar a seguinte linha em my.cnf para fazer login sem senha.

skip-grant-tables

Apresenta um enorme risco de segurança, por isso você deve definir uma senha para evitar acesso externo e ilegal.

Como retomar o controle do usuário root no MySQL

Etapa 1: Conecte-se ao MySQL

mysql

Etapa 2: Usando o banco de dados principal

use mysql;

Etapa 3: Redefinir a senha root do usuário

UPDATE user SET `authentication_string` = PASSWORD('myNuevoPassword') WHERE `User` = 'root';

Cuidado
Se você não conseguir executar o comando, verifique a coluna authentic_string da tabela mysql.user.

SELECT User, authentication_string  FROM mysql.user\G
*************************** 1. row ***************************
                 User: mysql.infoschema
authentication_string: $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED
*************************** 2. row ***************************
                 User: mysql.session
authentication_string: $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED
*************************** 3. row ***************************
                 User: mysql.sys
authentication_string: $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED
*************************** 4. row ***************************
                 User: root
W&2-*D:1FsLlMJEFsvaZNpaAlnJDEyTNo2QO7Eu7P0rhe10psBsC
4 rows in set (0.00 sec)

E você executa o seguinte comando.

UPDATE user SET `authentication_string` = 'myNuevoPassword' WHERE `User` = 'root';

Etapa 4: Mostre a tabela mysql.user se você puder alterar a senha root

SELECT User, authentication_string  FROM mysql.user\G
*************************** 1. row ***************************
                 User: mysql.infoschema
authentication_string: $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED
*************************** 2. row ***************************
                 User: mysql.session
authentication_string: $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED
*************************** 3. row ***************************
                 User: mysql.sys
authentication_string: $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED
*************************** 4. row ***************************
                 User: root
authentication_string: ZAQ$2wsx2408
4 rows in set (0.00 sec)

Etapa 5: Apagar linha de my.cnf

skip-grant-tables

Etapa 6: reinicie o serviço MySQL

sudo systemctl restart mysqld

Etapa 7: Conecte-se ao mysql com senha

mysql -u root -p
Enter password: [new password]

mysql> 

Quando precisar realizar esta ação, use com cuidado!

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/kyotanakada/retake-control-of-the-root-user-in-mysql-308h?1 Se houver alguma violação, entre em contato com [email protected] para excluir isto
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3