edsfernando1
(usa Ubuntu)
Enviado em 31/01/2019 - 09:34h
@p4ulodi4s Já havia tentado com o original antes do mariadb e agora mais uma vez. O MySql "original" tem no repositório comum.
Como já havia instalado e reinstalado, pensei que parte do erro fosse causado por algum tipo conflito pois o serviço não iniciava. Então listei todos os pacotes instalados no sistema e verifiquei que além do mariadb, tinha um outro mysql das primeiras tentativas.
Removi tudo e verifiquei mais uma vez e agora sim, reinstalei o mysql ORIGINAL, lembrando de buscar a senha temporária citada pelo @Grinder usando
grep 'temporary password' /var/log/mysqld.log
mas essa pasta não existe.
Revolvi pular direto pro
sudo mysql_secure_installation
e me veio a mente que alguém, em algum dos milhares de posts que li disse que depois de uma certa atualização, o mysql não pedia mais a senha pq ele usava a mesma do computador e assim fiz, inseri minha senha e deu certo! \o/ \o/ \o/ \o/
Depois foi rodando os prompts normais do
sudo mysql_secure_installation
e assim defini uma senha pro root e confirmei com Y pra todo restante. Ao final, testei a senha no terminal e tudo ok.
Instalei o phpmyadmin e como esperava, só pediu pra selecionar o banco de dados, nada de senha.
Quando fui tentar o login, ERRO!!! ¬¬
A senha que defini pro root não funcionava ali. Então fui ao terminal e entrei novamente com
sudo mysql -u root -p mysql
usando a senha da minha conta no SO e por dica em outro post que li, deixei o campo da senha pro mysql vazio e deu certo.
Com o acesso ao mysql eu listei os usuários cadastrados usando
mysql> select User from user;
+------------------+
| User |
+------------------+
| debian-sys-maint |
| mysql.session |
| mysql.sys |
| root |
+------------------+
4 rows in set (0.00 sec)
Então pensei que se podia ver o nome de usuário, também poderia acessar a senha e então tentei
mysql> select User,Password,Host from user;
mas não deu certo pois o nome do campo estava errado.
Aí usei
mysql> select User,Password,Host from user;
pra ver os nomes dos campos da tabela.
O nome da coluna é
authentication_string
mysql> select User,authentication_string,Host from user;
+------------------+-------------------------------------------+-----------+
| User | authentication_string | Host |
+------------------+-------------------------------------------+-----------+
| root | | localhost |
| mysql.session | *A-SENHA-CODIFICADA-FICA-AQUI* | localhost |
| mysql.sys | *A-SENHA-CODIFICADA-FICA-AQUI* | localhost |
| debian-sys-maint | *A-SENHA-CODIFICADA-FICA-AQUI* | localhost |
+------------------+-------------------------------------------+-----------+
Como podem ver, a senha que defini pra root foi de alguma forma apagada e então tentei o login sem senha no phpmyadmin mas por padrão isso não é mais permitido.
Então lembrei que posso editar o campo da senha ou até criar outro usuário e assim fiz
mysql> create user '$$$$$$'@'localhost' identified by '*******';
onde $$$$$ é o nome do usuário e ******* é a senha que escolhi.
listei novamente pra conferir
mysql> select User,authentication_string,Host from user;
+------------------+-------------------------------------------+-----------+
| User | authentication_string | Host |
+------------------+-------------------------------------------+-----------+
| root | | localhost |
| mysql.session | *A-SENHA-CODIFICADA-FICA-AQUI* | localhost |
| mysql.sys | *A-SENHA-CODIFICADA-FICA-AQUI* | localhost |
| debian-sys-maint | *A-SENHA-CODIFICADA-FICA-AQUI* | localhost |
| $$$$$ | A-SENHA-CODIFICADA-FICA-AQUI* | localhost |
+------------------+-------------------------------------------+-----------+
5 rows in set (0.00 sec)
Ao criar um novo usuário, tem que conceder os privilégios pra que ele funcione corretamente
mysql> GRANT ALL PRIVILEGES ON * . * TO 'admin'@'localhost';
e depois
FLUSH PRIVILEGES;
assim que consegui fazer o login corretamente...