Estou usando o Ubuntu desktop 16.04 (atualizado a partir de 15.10).
Eu tinha instalado o phpmyadmin de por apt-get install phpmyadmin
. Funciona se eu for, localhost/phpmyadmin
mas não consigo fazer login como root.
Eu procurei muito por isso. Encontrei muitas fontes nas quais eles sugerem alterar /etc/phpmyadmin/config.inc.php
e substituir o usuário e a senha por 'root' e '' (vazio para a senha). Mas o meu config.inc.php
é diferente do deles. Por exemplo, no meu arquivo, não há linha para usuário e senha e parece que ela é obtida automaticamente de outro arquivo /etc/phpmyadmin/config-db.php
. Apesar disso, alterei o usuário e a senha nesse arquivo, mas agora recebo este erro:
#1698 - Access denied for user 'root'@'localhost'
O que eu deveria fazer?
Phpmyadmin Versão: 4.5.4.1deb2ubuntu1
mysql Ver 14.14 Distrib 5.7.12, para Linux (x86_64) usando o wrapper EditLine
fonte
Respostas:
O MySQL 5.7 mudou o modelo seguro: agora o
root
login no MySQL requer asudo
.Ou seja, o phpMyAdmin não poderá usar
root
credenciais.A solução mais simples, segura e permanente será criar um novo usuário e conceder os privilégios necessários.
1. Conecte-se ao mysql
2. Crie uma senha real
Nas etapas abaixo, usarei
some_pass
como uma senha de amostra. POR FAVOR, SUBSTITUA POR SUA SENHA! NÃO USESOME_PASS
COMO SENHA!3. Crie um usuário para phpMyAdmin
Execute os seguintes comandos (substituindo
some_pass
pela senha desejada):Se o seu phpMyAdmin estiver se conectando ao host local, isso deve ser suficiente.
4. Opcional e não seguro: permita conexões remotas
Lembre - se : permitir que um usuário remoto tenha todos os privilégios é uma preocupação de segurança e isso não é necessário na maioria dos casos.
Com isso em mente, se você deseja que esse usuário tenha os mesmos privilégios durante as conexões remotas, execute adicionalmente (substituindo
some_pass
pela senha usada na Etapa 2):5. Atualize o phpMyAdmin
Usando
sudo
, edite o/etc/dbconfig-common/phpmyadmin.conf
arquivo atualizando os valores de usuário / senha nas seções a seguir (substituindosome_pass
pela senha usada na Etapa 2):fonte
root
usuário sempre exigia osudo
uso no 5.7. Atualizei a resposta para orientar a criação de um novo usuário com todos os privilégios.Eu estava enfrentando o mesmo problema ao usar o mariaDB com o phpmyadmin (Ubuntu 16.04LTS).
Pré-requisitos:
1) Instale o MariaDB
Se você deseja desinstalar
mariaDB
:2) Instale o phpmyadmin
3) No apache2, crie um link simbólico para phpmyadmin
Ok, agora, se você seguir as instruções de Rael, poderá fazer login
phpmyadmin
, mas, pelo menos para mim, não consegui criar novos bancos de dados, pois uma mensagem vermelha apareceu:No privileges
(ou alguma mensagem semelhante)A correção foi reconfigurando o phpmyadmin e respondendo a algumas perguntas interativas.
Agora, se você tentar se conectar ao phpmyadmin (
localhost/phpmyadmin
) usandovocê poderá criar bancos de dados.
fonte
sudo dpkg-reconfigure phpmyadmin
tem alguma conexão com a instalação do mariadb e do desinstalação do mysql? Se sim, suas informações podem ser úteis (pode ser porque você está sugerindo a remoção do mysql, que é o banco de dados que estou usando e utilizarei). Caso contrário, não há sentido em apresentá-lo como contexto. Se eu estiver errado, me corrija.No Ubuntu 16.04 para Mysql 5.7, verifique as informações da tabela abaixo e execute as configurações necessárias:
Verifique se o root está tendo o plugin auth_socket e execute o comando abaixo:
fonte
apt
atualização do MySQL . Ou seja, você precisará aplicar isso após cada atualização do MySQL no Ubuntu.Se o phpymadmin não puder se conectar, pode ser devido ao mecanismo de autenticação definido como
auth_socket
. Você pode alterá-lo para usar uma senha comum como esta:Eu estava lutando com isso agora em uma instalação limpa do Ubuntu 18.04 e foi isso que fez o trabalho. Há um artigo decente aqui explicando mais:
https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/
fonte
Para ser completo, encontrei uma solução para meu problema ao usar o MariadB versão 10.1.23. A sintaxe a ser usada para configurar um novo usuário é semelhante à relatada na postagem acima de @Rael Gugelmin Cunha, coloquei aqui minha solução para referência a outras pessoas que enfrentam o mesmo problema:
Saudações
fonte
Eu tive o mesmo problema, segui a maioria dos conselhos e nada funcionou para mim! Meu problema foi o mesmo quando abri http: // localhost / phpmyadmin no meu navegador, solicitando os detalhes de login.
Eu estava usando o root como usuário e a senha que eu conhecia estava correta. E eu estava recebendo
Bastava usar
phpmyadmin
como usuário, nãoroot
com a senha conhecida e me permitir entrar.fonte
some_pass
por uma senha real!Referindo-se a Rael Cunha:
Sim, sua solução funciona, e eu tentei outros. No entanto, referir-se a um usuário que possui uma senha exposta em um arquivo de configuração
/etc/dbconfig-common/phpmyadmin.conf
parece uma falha de segurança para uma ação em todo o sistema.Então, eu prefiro sugerir no que
MariaDB 10.1.x
diz respeito (some_user e some_pass serão qualquer coisa que você possa criar):e deixando o phpadmin setup (4) como está.
Faça logon no phpmyadmin com suas próprias credenciais depois
Nas minhas próprias configurações, substituo o '%' acima por 'localhost' para fins de segurança, mas se você tiver a porta 3306 fechada no servidor, isso não representaria necessariamente um risco à segurança.
fonte
Somente o código abaixo funciona para o ubuntu 18.04, php 7 acima e mysql 5.7
Não substitua 'phpmyadmin'. Criar qualquer outro usuário não tem privilégios completos, como criar novo usuário, atribua privilégios de banco de dados a esse usuário assim. Somente o usuário phpmyadmin terá acesso total.
fonte
se você instalar o MySQL separadamente, pare com este comando abaixo: sudo / opt / lampp / lampp stop service mysql pare o sudo / opt / lampp / lampp start
fonte