O MySQL 5.7 mudou o modelo seguro: agora o MySQL root
login requer um sudo
.
Ou seja, o phpMyAdmin não poderá usar as credenciais root
.
A solução mais simples (e mais segura) será criar um novo usuário e conceder privilégios necessários.
1. Conecte-se ao mysql
sudo mysql --user=root mysql
2. Crie um usuário para o phpMyAdmin
Execute os seguintes comandos (substituindo some_pass
pela senha desejada):
CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Se o seu phpMyAdmin estiver se conectando ao localhost, isso deve ser suficiente.
3. Opcional: permitir conexões remotas
Lembre-se : permitir que um usuário remoto tenha todos os privilégios como uma preocupação de segurança.
Com isso em mente, se você quiser que esse usuário tenha os mesmos privilégios durante conexões remotas, adicionalmente é executado (substituindo some_pass
pela senha usada na Etapa 2):
CREATE USER 'phpmyadmin'@'%' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
4. Atualizar o phpMyAdmin
Usando sudo
, edite o arquivo /etc/dbconfig-common/phpmyadmin.conf
atualizando os valores de usuário / senha nas seções a seguir (substituindo some_pass
pela senha usada na Etapa 2):
# dbc_dbuser: database user
# the name of the user who we will use to connect to the database.
dbc_dbuser='phpmyadmin'
# dbc_dbpass: database user password
# the password to use with the above username when connecting
# to a database, if one is required
dbc_dbpass='some_pass'