¿Cómo conectarse a MySQL sin ingresar una contraseña?

195

Supongamos que desea asegurarse de que el usuario root pueda conectarse a MySQL desde localhost sin ingresar una contraseña.

Para hacer esto, cree un archivo de configuración MySQL en el directorio de inicio del usuario desde el que se está conectando (en el editor de texto nano, CTRL+X para salir, y/n para guardar o descartar los cambios):

sudo nano ~/.my.cnf

Por motivos de seguridad, configuraremos el acceso al archivo .my.cnf solo para el usuario root del sistema.

sudo chown root:root ~/.my.cnf
sudo chmod 400 ~/.my.cnf

Y agregue la sección del cliente, especificando el nombre de usuario y la contraseña del usuario, así como varios otros parámetros:

[client]
host=localhost
user=root
password=PASSWORD
socket=/var/run/mysqld/mysqld.sock

Intentemos conectarnos, la consola MySQL debería mostrarse inmediatamente (sin pedir una contraseña):

mysql

También puede especificar la ruta al archivo con nombre de usuario y contraseña, por ejemplo:

mysql --defaults-extra-file=/etc/zabbix/.mysql.cnf -e "QUERY;"

No se recomienda especificar una contraseña en la línea de comando y, en consecuencia, si se especifica, se mostrará una advertencia:

mysql: [Advertencia] El uso de una contraseña en la interfaz de línea de comandos puede ser inseguro.

Suerte