Estoy usando Ubuntu Desktop 16.04 (actualizado desde 15.10).
Había instalado phpmyadmin de por apt-get install phpmyadmin
. Funciona si voy localhost/phpmyadmin
pero no puedo iniciar sesión como root.
Lo he buscado mucho. He encontrado muchas fuentes en las que sugieren alterar /etc/phpmyadmin/config.inc.php
y reemplazar el usuario y la contraseña con 'root' y '' (vacío para contraseña). Pero mi config.inc.php
es diferente de la de ellos. Por ejemplo, en mi archivo, no hay una línea para el usuario y la contraseña y parece que la obtiene automáticamente de otro archivo que es /etc/phpmyadmin/config-db.php
. A pesar de esto, he cambiado el usuario y la contraseña en ese archivo, pero ahora aparece este error:
#1698 - Access denied for user 'root'@'localhost'
¿Qué debería hacer?
Versión de Phpmyadmin: 4.5.4.1deb2ubuntu1
mysql Ver 14.14 Distrib 5.7.12, para Linux (x86_64) usando el envoltorio EditLine
fuente
Respuestas:
MySQL 5.7 cambió el modelo seguro: ahora el
root
inicio de sesión MySQL requiere asudo
.Es decir, phpMyAdmin no podrá usar
root
credenciales.La solución más simple, segura y permanente será crear un nuevo usuario y otorgar los privilegios necesarios.
1. Conéctese a mysql
2. Crea una contraseña real
En los pasos a continuación lo usaré
some_pass
como contraseña de muestra. ¡POR FAVOR, REEMPLAZA POR TU CONTRASEÑA! ¡NO LO USESOME_PASS
COMO CONTRASEÑA!3. Cree un usuario para phpMyAdmin
Ejecute los siguientes comandos (reemplazando
some_pass
por la contraseña deseada):Si su phpMyAdmin se conecta a localhost, esto debería ser suficiente.
4. Opcional e inseguro: permitir conexiones remotas
Recuerde : permitir que un usuario remoto tenga todos los privilegios es un problema de seguridad y esto no es obligatorio en la mayoría de los casos.
Con esto en mente, si desea que este usuario tenga los mismos privilegios durante las conexiones remotas, ejecute adicionalmente (reemplazando
some_pass
por la contraseña utilizada en el Paso # 2):5. Actualiza phpMyAdmin
Utilizando
sudo
, edite el/etc/dbconfig-common/phpmyadmin.conf
archivo actualizando los valores de usuario / contraseña en las siguientes secciones (reemplazandosome_pass
por la contraseña utilizada en el Paso # 2):fuente
root
usuario siempre requirió elsudo
uso en 5.7. Por lo tanto, he actualizado la respuesta para guiar a crear un nuevo usuario con todos los privilegios.Estaba enfrentando el mismo problema cuando usaba mariaDB con phpmyadmin (Ubuntu 16.04LTS).
Prerrequisitos:
1) Instalar MariaDB
Si quieres desinstalar
mariaDB
:2) Instalar phpmyadmin
3) En apache2, cree un enlace simbólico a phpmyadmin
Bien, ahora, si sigues las instrucciones de Rael, podrás iniciar sesión
phpmyadmin
, pero, al menos para mí, no pude crear nuevas bases de datos, ya que apareció un mensaje rojo:No privileges
(o algún mensaje similar)La solución fue reconfigurar phpmyadmin y responder algunas preguntas interactivas.
Ahora, si intentas conectarte a phpmyadmin (
localhost/phpmyadmin
) usandoPodrás crear bases de datos.
fuente
sudo dpkg-reconfigure phpmyadmin
Ejecutar tiene alguna conexión para instalar mariadb y desinstalar mysql? En caso afirmativo, su información podría ser útil (podría ser porque está sugiriendo la eliminación de mysql, que es la base de datos que estoy usando y usaré). Si no, entonces no tiene sentido darlo como contexto. Si me equivoco, corrígeme.En Ubuntu 16.04 para Mysql 5.7 verifique la información de la tabla a continuación y realice las configuraciones necesarias:
Compruebe si la raíz tiene el complemento auth_socket y luego ejecute el siguiente comando:
fuente
apt
actualización de MySQL . Es decir, deberá aplicar esto después de cada actualización de MySQL en Ubuntu.Si phpymadmin no puede conectarse, puede deberse al mecanismo de autenticación establecido en
auth_socket
. Puede cambiarlo para usar una contraseña normal como esta:Estaba luchando con esto justo ahora en una instalación limpia de Ubuntu 18.04 y esto es lo que lo hizo funcionar. Aquí hay un artículo decente que explica más:
https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/
fuente
Para completar, he encontrado una solución a mis problemas al usar MariadB versión 10.1.23. La sintaxis a usar para configurar un nuevo usuario es similar a la que se informó en la publicación anterior de @Rael Gugelmin Cunha, pongo aquí mi solución para referencia a otros que enfrentan el mismo problema:
Saludos
fuente
Tuve el mismo problema, he seguido la mayoría de los consejos y ninguno me funcionó. Mi problema era el mismo cuando abrí http: // localhost / phpmyadmin en mi navegador, pedía los detalles de inicio de sesión.
Estaba usando root como usuario, y la contraseña que sabía era correcta. Y me estaba poniendo
Todo lo que necesité fue usar
phpmyadmin
como usuario, noroot
, con la contraseña conocida y me dejó entrar.fuente
some_pass
por una contraseña real!Refiriéndose a Rael Cunha:
Sí, su solución funciona, y he probado otros. Sin embargo, referirse a un usuario que tiene una contraseña expuesta en un archivo de configuración
/etc/dbconfig-common/phpmyadmin.conf
como un defecto de seguridad para una acción en todo el sistema.Así que preferiría sugerir en lo
MariaDB 10.1.x
que respecta (some_user y some_pass serán cualquier cosa que se te ocurra):y dejando la configuración de phpadmin (4) como está.
Inicie sesión en phpmyadmin con sus propias credenciales después
En mis propias configuraciones, reemplazo el '%' anterior por 'localhost' por razones de seguridad, pero si tiene el puerto 3306 cerrado en su servidor, eso no necesariamente representaría un riesgo de seguridad para usted.
fuente
Solo el código siguiente funciona para ubuntu 18.04, php 7 anterior y mysql 5.7
No reemplace 'phpmyadmin'. Crear cualquier otro usuario no tiene privilegios completos como crear un nuevo usuario, así asignar privilegios de base de datos a ese usuario. Solo el usuario phpmyadmin obtendrá acceso completo.
fuente
si instala MySQL por separado, deténgalo con este comando a continuación sudo / opt / lampp / lampp stop service mysql stop sudo / opt / lampp / lampp start
fuente