La consola de cliente MySQL, permite realizar muchos trabajos de manera mucho más eficaz que usando un interface del tipo phpMyAdmin. Ademas, también hay programas de escritorio como Sequel Pro para mac Os X que también nos permiten ejecutar comandos en la consola del cliente MySQL. En ella podemos usar scripts de sql. ¿Pero sabias que es posible también ejecutar comando del shell? En este artículo te lo contamos.
Contenidos
Ejecutar comandos bash en la consola de cliente MySQL
Comenzamos con el uso del cliente MySQL para la consola
En las distribuciones de Linux o en BSD, mysql es un comando que ya esta preparado para su uso en una consola shell, y como norma general, esta incluido dentro del path de entorno. Así que sólo será necesario acceder a él.
Forma generalizada de acceso a mysql pero insegura
mysql -u [username] -p
Como ya comentábamos en nuestro artículo Modificar artículos de WordPress vía comandos MySQL esta no es la forma más segura de acceder a la consola mysql en el shell. Si quieres más información, te recomendamos leer End-User Guidelines for Password Security
En nuestro caso simplemente usamos el comando mysql
[root@kvm401 ~]# mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 122776 Server version: 10.1.23-MariaDB MariaDB Server Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
Esto es posible porque usamos el fichero .my.cnf en el home de nuestro usuario, ya que usamos MariaDB y este no dispone de la utilidad mysql_config_editor.
[root@kvm401 ~]# cat .my.cnf [client] user=root password="UnACoNtRaSeÑa#@CoMpLiCaDa12"
Ejecutar comandos shell dentro del cliente MySQL
MariaDB [(none)]> \! ls -l total 120 -rw-------. 1 root root 1413 May 20 2016 anaconda-ks.cfg drwxr-xr-x. 4 root root 41 May 20 2016 cpanel3-skel -rw-r--r--. 1 root root 446 Mar 18 10:28 ifcfg-eth0.bak-new -rw-r--r--. 1 root root 420 Mar 10 11:22 ifcfg-eth0-online -rw-r--r--. 1 root root 412 Mar 10 11:35 ifcfg-eth0-ovh-vrack -rw-r--r--. 1 root root 10 May 20 2016 installer.lock drwxr-xr-x. 2 root root 6 May 20 2016 perl5 -rw-r--r--. 1 root root 38963 May 20 2016 php.ini.new -rw-r--r--. 1 root root 38963 May 20 2016 php.ini.orig -rw-r--r--. 1 root root 1333 Aug 16 2016 RPM-GPG-KEY-ZABBIX drwxr-xr-x. 3 root root 30 May 20 2016 soft drwxr-xr-x. 7 root root 4096 Mar 20 09:55 testssl.sh drwxr-xr-x. 3 root root 4096 May 9 20:36 tmp -rw-r--r--. 1 root root 4972 Mar 20 07:43 zabbix.sh
Puedes ejecutar también vi o nano por si quieres editar algún fichero sql
mysql> \! nano
Puedes cambiar al shell, como proceso hijo para después volver a donde estabas
MariaDB [(none)]> \! bash [root@kvm401 ~]# exit exit MariaDB [(none)]>
Notas finales
Para nosotros es importante no ya como administradores de sistemas, sino como clientes (por ejemplo cuando nos piden migraciones desde otros hosting, de clientes que no tienen acceso root) el uso de la linea de comandos del cliente mysql ya que nos permite con un simple script realizar migraciones de forma infinitamente más sencilla y eficaz que con la instalación de pesados y absurdos plugins de Joomla, WordPress, etc. Además esta forma de trabajar, nos permite hacer migraciones con el mínimo downtime (tiempo de caída o perdida de servicio real). Por eso, siempre decimos, que un hosting sin SSH es como un jardín sin flores. Contrata siempre que puedas Hosting con SSH
Artículos externos:
Descargada de Freepik y diseñada por Kjpargeter
Comparte este artículo
Artículo Antiguo
Este artículo tiene más de 2 años. Es muy probable que su contenido este anticuado, aunque pueda ser de utilidad, es conveniente que revises otras informaciones al respecto. Si lo encuentras útil o crees que puede ser actualizado, deja tu comentario con la actualización para poder editarlo y que pueda ser útil a los demás.Comparte este articulo en