Redefinindo a senha root do MySQL

1

O problema

Estou executando o Ubuntu 18.04 e instalei o MySQL recentemente. Eu nunca usei isso ainda. Tanto quanto me lembro, nunca defini qualquer senha para qualquer usuário. (Se eu fiz, eu sei o que seria.)

Hoje eu instalei o phpMyAdmin e descobri que não consegui logar no root pelo phpMyAdmin. Eu tentei logar no MySQL diretamente através do terminal sem uma senha:

mysql -u root

E com a senha que eu teria definido, se eu esquecesse:

mysql -u root -p

Mas ambos retornaram

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

Soluções com tentativas

Tentativa 1

Eu tentei seguir o este guia, parei o processo demoníaco do MySQL, então eu iniciei o processo do daemon mysqld usando o --skip-grant-tables option. Então, ao executar este comando para efetuar login sem a senha:

mysql -u root

Em vez de chegar ao prompt mysql> , me deparei com o seguinte erro:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket 
'/var/run/mysqld/mysqld.sock' (2)

Tentativa 2

Eu tentei desinstalar o MySQL usando:

sudo apt-get --purge remove mysql-server mysql-common mysql-client

E então eu tentei reinstalar o MySQL usando este comando:

sudo apt-get install mysql-server mysql-common mysql-client

E, em seguida, tentou definir uma senha como esta:

mysqladmin -u root password my-new-password

No entanto, mais uma vez fiquei perplexo com uma mensagem de erro:

mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost''

Meus colegas programadores, eu estou absolutamente sem noção de onde ir a partir daqui na continuação da minha busca para obter os poderes do MySQL ...

Editar

Depois de usar sudo (de acordo com a resposta do vidarlo), consegui acessar meus bancos de dados e consegui alterar minha senha usando:

mysql> update user set authentication_string=password("Z4hVdwn9qZ") 
       where user='root';
Query OK, 1 row affected, 1 warning (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 1

Mas o phpMyAdmin ainda não entra e retorna o erro

#1698 - Access denied for user 'root'@'localhost'
    
por Abraham Murciano Benzadon 21.05.2018 / 18:31

1 resposta

2

Tente

sudo mysql -u root

O MariaDB usa a autenticação de soquete do Unix, o que significa que você está autenticado como o usuário que está iniciando o cliente mysql.

Você pode ler mais sobre isso em documentação do MariaDB .

    
por vidarlo 21.05.2018 / 18:54