passwords - poner - MariaDB instalado sin solicitud de contraseña
mariadb password root (4)
Como advirtió @Pedru, el mensaje "Acceso denegado para el usuario ''root'' @ ''localhost''" se debe al hecho de que Debian y Ubuntu habilitan el complemento de autenticación UNIX_SOCKET de forma predeterminada , permitiendo el inicio de sesión sin contraseña (consulte también el here ) . Esto no es un problema de instalación.
Significa que si escribe mysql -u root -p
en el Shell de Linux, root
es en realidad la raíz de Linux (o está vinculado a ella, no sé cómo funciona esto realmente). De modo que si inicia sesión en Linux con otra cuenta, recibirá un error: ERROR 1698 (28000): Access denied for user ''root''@''localhost''
. Mejor escriba sudo mysql -u root -p
o sudo mysql -u root
si la contraseña aún no está definida.
He instalado mariadb desde los repositorios de Ubuntu 15.04 usando el centro de software de Ubuntu o en el símbolo del sistema (apt-get install maraidb-server), pero no se solicita una contraseña para el usuario root. Ahora puedo conectarme a mysql en la línea de comandos sin contraseña, pero la conexión con Mysql-Workbench o python mysqldb library falló con el mensaje "Acceso denegado para el usuario ''root'' @ ''localhost''"
es común que root tenga acceso sin contraseña si se accede desde localhost, recomiendo que se deje esta configuración solo.
También recomiendo que crees un usuario con menos permisos y permitas que el usuario inicie sesión de forma remota.
create user my_admin identified by ''12345'';
create database my_database;
grant all on my_database.* to my_admin;
De esta manera tienes un poco más de seguridad.
Si necesita conectarse como root desde una herramienta como workbench, puede configurar esas herramientas para crear un túnel ssh y conectarse a la base de datos como localhost.
sudo mysql -u root
[mysql] use mysql;
[mysql] update user set plugin='''' where User=''root'';
[mysql] flush privileges;
[mysql] /q
sudo mysql -u root
[mysql] use mysql;
[mysql] update user set plugin='''' where User=''root'';
[mysql] flush privileges;
[mysql] /q
Esto debe ser seguido por el siguiente comando
# mysql_secure_installation