Acceder a MySQL desde terminal en Linux

  • Por
Acceso y operaciones más básicas para administrar MySQL en un sistema Linux cuando accedemos por el terminal en línea de comandos.

En DesarrolloWeb.com publicamos hace algún tiempo unas notas muy interesantes para todo aquel que trabaja con MySQL y desea acceder por línea de comandos al sistema gestor de base de datos. Ese artículo estaba orientado hacia las personas que trabajan con Windows, aunque es verdad que la mayoría de sentencias de administración funcionan igual en Linux, porque en definitiva lo que se está haciendo es comunicar con MySQL a través del lenguaje SQL, que no difiere en nada de un sistema a otro.

Sin embargo, para las personas que trabajan con MySQL por GNU/Linux, ya sea porque tengan instalado Linux como ordenador de escritorio o porque accedan por SSH a servidores dedicados, algunos asuntos relacionados con el acceso a la interfaz de MySQL cambian un poco. En este artículo vamos a comentar algunos aspectos que podrán interesar a esos usuarios noveles que están deseando unas orientaciones básicas.

Comenzaremos dando algunos detalles sobre cómo acceder a la línea de comandos del sistema Linux, ya sea en tu sistema local, ya sea en un sistema Linux remoto que puedas tener en un servidor dedicado.

Acceso a un servidor por SSH

Como primer paso vamos a comentar cómo hacer una conexión por SSH a un servidor dedicado, o un servidor virtual o hosting, que permita la conexión por SSH. Esto no tiene que ver específicamente con la administración de MySQL, pero puede servir de guía para las personas que están deseando conectarse con un servidor remoto para luego acceder a dicho sistema gestor de base de datos.

En este caso puede que tengas varios sistemas operativos distintos y que desees acceder al servidor Linux por cualquiera de ellos.

Windows:

Para acceder por SSH a un servidor remoto desde tu ordenador de escritorio con Windows yo suelo utilizar el programa Putty, que es superligero y gratuito. Puedes ver información sobre este software en el artículo Putty: Programa para Telnet y SSH

Linux:

El programa Putty también está disponible para Linux, pero es totalmente innecesario, ya que a través del terminal del propio sistema Linux tienes acceso al comando SSH para conectarte con cualquier servidor.

ssh usuario@1.2.3.4

Por supuesto, tendrás que editar tu usuario y la IP del servidor al que te quieres conectar. Por ejemplo, para conectarse por root en el servidor con IP 280.230.2.67 escribirías:

ssh root@280.230.2.67

Mac:

Los ordenadores con sistema Mac OS X tienen el terminal de línea de comandos también integrada entre las aplicaciones disponibles. Para acceder por SSH a otro servidor se utiliza el mismo comando que en Linux.

Acceso a una base de datos MySQL en local en sistemas Linux

Si en tu caso tienes Linux instalado en tu ordenador de escritorio y deseas acceder a MySQL por línea de comandos, con que abras un Terminal es suficiente. Es decir, que aquí no necesitarías conectar por SSH con ningún servidor.

Nota: En mi sistema Ubuntu abro un terminal con la combinación de teclas CTRL + ALT + T. Supongo que en otras distribuciones de Linux este atajo puede cambiar, pero no debe ser muy difícil abrir un terminal. Busca el programa entre los instalados.

Acceso a la interfaz de MySQL de línea de comandos

Una vez en el servidor donde tengas el MySQL al que quieres acceder, simplemente te conectas con el comando:

mysql -h localhost -u root -p

Tendrás que indicar el usuario MySQL con el que quieras autenticarte. Probablemente sea root en tu instalación de MySQL en local, pero si estás en un servidor en producción quizás sea más inteligente conectar con el usuario y contraseña de acceso a la base de datos MySQL que quieres administrar, que son los mismos que utilizas en, por ejemplo, la función mysql_connect() de PHP.

Nota: El servidor MySQL al que nos conectamos es localhost, pues se supone que estás accediendo al sistema gestor que tienes en el servidor con el que te has conectado. Pero también podrías acceder a otros servidores remotos cambiando localhost por el nombre o la IP de ese servidor al que quieras acceder.

En Linux da igual en el directorio donde estés cuando ejecutes ese comando para conectar con MySQL, pues el comando está instalado en el servidor y activo desde cualquier localización.

Una vez ejecutado ese comando, se nos solicitará la clave del usuario que hemos utilizado para conectar. Si la ponemos bien, estaremos dentro de la interfaz de MySQL por línea de comandos.

Si alguna vez queremos salir de nuevo al terminal de Linux, utilizamos el comando

exit

Comandos típicos de MySQL

Una vez dentro de MySQL puedes realizar comandos para trabajar con el sistema gestor de base de datos en el lenguaje SQL. Lo más típico es que realices acciones como estas:

Ver las bases de datos que tenemos creadas en el sistema:

show databases;
Nota: observa que los comandos que lanzas a MySQL deben llevar un punto y coma ";" al final, si no lo colocas el comando no se ejecutará hasta que escribas el ";" y pulses la tecla Enter de nuevo.

Cambiar a una base de datos:

use base_de_datos;

Siendo base_de_datos el nombre de la base de datos a usar.

A partir de aquí puedes realizar cualquier tipo de consultas de selección, actualización, inserción, etc. sobre la base de datos. Para ello utilizas el lenguaje de consulta estándar del cual tenemos un interesante Tutorial de SQL.

Para complementar esta información puedes leer el anterior artículo sobre Línea de comandos MySQL, donde explicamos otra serie de acciones disponibles cuando atacamos a MySQL desde el terminal.

Autor

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Compartir

Comentarios

Charli

15/11/2012
Muy bueno
Me sirvio de ayuda. No es la primera y seguro que no sera la ultima vez que consulto vuestra pagina en busca de ayuda y obtengo muy buenos resultados.

Muchas gracias.

Soni

08/1/2014
Felicitaciones
Excelente tutorial. Claro, conciso y muy util. Gracias por compartir.

akku

27/1/2014
aweosme
Thank you for discussing how to make an SSH connection to a dedicated server or virtual server hosting or allowing connection by SSH. It is very good tutorial really thank you for discussing this topic. Keep on posting more.

Alfonso

15/8/2014
Agardecimiento
Muchas gracias, en verdad me sirvió mucho. Es bueno saber que hay más gente como yo interesada en Linux, ya que muchos de los tutoriales sólo están dedicados a windows. Gracias de nuevo y que viva el software libre.

Federico Rodriguez

19/8/2014
Error, no puedo teclear el password
Hola todo bien hasta el comando "mysql -h localhost -u root -p " luego me pide la contraseña, pero no me la deja escribir a que se debera eso? o sea me dice " Enter password : " y no me deja escribir nada :S es un trabajo para una materia y lo necesito urgente! desde ya gracias, aguante linux (?

derlis

10/3/2015
cambiar la contraseña de root del mysl-linux
como puedo cambiar la contraseña del root de mysql estoy trabajando en un servidor centos.. y no me muestra la base de datos que creer en mi navicat

David

16/6/2015
No bases en CLI.
Que tal, Al utilizar la linea de comandos, por que no me aparecen las bases que tengo en phpmyadmin.. lo mismo al revez, si creo una base en linea de comados, no me la actualiza en phpmyadmin, ojala pudiean responder mi duda. Muchas gracias.

Javier Quiroga Almeida

10/4/2016
agredecimiento
Muchas gracias amigo me sirvio bastante :)

erick

24/8/2016
no puedo conectarme a la base de datos
soy nuevo en esto. al conectarme por putty, me tira un mensaje que el programa mysql puede encontrarse en los sig paquetes mysql client core, mariadb client core, percona-xtradb-cluster. Gracias

kathia

12/11/2016
no puedo ingresar mi contraseña
hola que tal... ayer estaba trabajando todo bien, y hoy resulta que no puedo ingresar mi contraseña.. pregunto que habrá sucedido.. le agradezco su ayuda..