Esta semana os traigo un post sobre MySQL, en especial una característica que fue introducida en la versión 5.6 y que continua en la 5.7. ¿Cuántas veces habéis realizado un history en vuestros servidores de base de datos y os habéis encontrado con que alguien puso la password de acceso a MySQL junto al -p? Desde la versión 5.6 podemos securizar los accesos a la base de datos a través de consola y os voy a contar cómo hacerlo.

 mysql logo

 

Me he encontrado muchas veces con scripts de backups de base de datos MySQL en los cuales podíamos ver la password del usuario fácilmente. Muchas de estas veces de usuarios con "superprivilegios", como por ejemplo:

mysqldump -u root -pPASSWORDROOT -h localhost --all-databases --skip-lock-tables > backup_alldb.sql

MySQL introdujo en la versión 5.6 el uso de un comando que nos va a permitir encriptar los datos de conexión. El comando mysql_config_editor, pasándole los datos de conexión, nos va a generar un fichero .mylogin.cnf en nuestra carpeta de usuario, totalmente encriptado, a esto se le conoce cómo login path. Su funcionamiento es muy sencillo:

[root@dbigcloud01 /]# mysql_config_editor set --login-path=root_local --user=root --host=localhost --password
Enter password:

Si creamos diferentes path podemos consultarlos de la siguiente forma:

[root@dbigcloud01 /]# mysql_config_editor print --all
[root_local]
user = root
password = *****
host = localhost

En mi caso, solo dispongo de uno que es root_local, el que acabamos de crear. Ahora si necesitamos conectarnos al servidor de MySQL desde línea de comando podemos hacerlo de la siguiente forma:

[root@dbigcloud01 /]# mysql --login-path=root_local
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.7.9 MySQL Community Server (GPL)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

En la siguiente imagen podéis ver todos los pasos realizados en la consola:

 

ejemplo mysql_config_editor por DBigCloud

 

Con esta  utilidad se acabó el encontrarnos passwords de root o usuarios escritos en la consola, si por ejemplo vamos a hacer un mysqldump podemos hacerlo igual, por lo que es ideal para scripts de backups.


Compártelo:

FacebookTwitterDiggGoogle BookmarksLinkedIn

Daniel Romero Sanchez
Author: Daniel Romero Sanchez
Responsable de sistemas y Arquitecto Cloud - vExpert 2015/16 - VCP550-DCV - LPIC-1


Escribir un comentario

Código de seguridad
Refescar

DBigCloud en tu idioma

esenfrdeitptru

Gold Sponsor

 

vExpert 2017

DbigCloud newsletter

Suscribete a nuestra newsletter y recibe cada semana los mejores artículos seleccionados por DBigCLoud.
Email type
Please wait