Es normal, si diciendo "acceder a la base de datos a través de mysql -u root -p
funciona bien" quiere decir que lo está ejecutando mientras es un root del sistema (o bajo sudo
). No debería poder hacerlo como un usuario normal.
Los paquetes generados por Ubuntu por defecto tienen unix_socket autenticación para la raíz local. Para verificar, ejecute
SELECT user, host, plugin FROM mysql.user;
Debería ver unix_socket
en el plugin
columna para [email protected]
.
Si desea utilizar la autenticación de contraseña en su lugar, ejecute
UPDATE mysql.user SET plugin = '' WHERE plugin = 'unix_socket';
FLUSH PRIVILEGES;