Home » MySQL/SQLite » ¿Qué comandos y programas se pueden usar para administrar un servidor MySQL?

¿Qué comandos y programas se pueden usar para administrar un servidor MySQL?

En otros artículos ya hemos utilizado el comando mysql para realizar tareas de administración del servidor y para ejecutar sentencias SQL de modo interactivo o por archivo de lotes (batch). Pero  MySQL posee muchos otros programas de cliente que acceden al servidor:
  • mysqladmin: cliente administrativo.
  • mysqlcheck: realiza operaciones de mantenimiento de tablas.
  • mysqldump: para realizar copiar de bases de datos.
  • mysqlimport: para importar archivos de datos.
  • mysqlshow: para visualizar información de bases de datos y de tablas.
También se dispone de una serie de programas que actúan de modo independiente al servidor, es decir, no precisan que el servidor esté iniciado:
  • myisamchk: realiza operaciones de mantenimiento de tablas. Por las funciones que cumple este programa y por el hecho que actúa de modo independiente al servidor debemos utilizarlo con cautela. 
  • myisampack: genera tablas comprimidas que sólo son de lectura.
  • mysqlbinlog: herramienta para procesar archivo log binarios.
  • perror: visualiza el significado de los errores.
Los programas los encontraremos en la carpeta /bin. Para simplificar las llamadas a estos programas es conveniente definir la ruta de acceso en la variable de entorno PATH.
 

Uso de comandos para administrar MySQL

Los programas de cliente que se ejecutan como comandos se invocan desde la línea de comandos (desde el indicador de sistema o shell) y, a continuación del nombre del comando, se incluyen las opciones requeridas.

El indicador del sistema varía según los distintos entornos (por ejemplo, C:\>, $,%, etc., además de ser un símbolo personalizable en algunos de los sistemas operativos). Por ejemplo, con este comando se invoca al programa mysql para que conecte con la base de datos comercio, utilizando el usuario root: 
C:\> mysql  comercio -u root;
o lo que es equivalente:
C:\> mysql  comercio --user root;
 
En la línea de comandos se pueden incluir dos tipos de argumentos: los que empiezan con guión (simple o doble, respectivamente, para opción abreviada u opción extendida) y los que no son opciones sino información. En el caso del ejemplo, mysql puede recibir información sobre el nombre de la base de datos y en ese caso es el argumento (no opción) que aparece en primer término. Los argumentos de tipo opción pueden aparecer en cualquier orden.
 
Las opciones se deben introducir teniendo en cuenta las mayúsculas y las minúsculas: no es lo mismo -t que -T.  
 
Algunas opciones van acompañadas de un valor (por ejemplo, -h nombre_host). En general, el espacio entre la opción y el valor puede omitirse (-hlocalhost y -h localhost son equivalentes y válidos), pero si se utiliza la opción extendida se debe incluir el signo igual (–host=localhost). 
La única excepción en donde no se permite el espacio entre la opción y el valor es en la opción -p (es decir, la contraseña): -pmiclave es válido pero -p miclave no se interpreta como valor de contraseña.  
 
Cuando analicemos las distintas opciones podremos comprobar que muchos comandos comparten muchos símbolos de opciones comunes (-u para usuario, -p para la contraseña, etc.).   

Uso de las opciones de los comandos

Existen varios métodos para introducir las opciones de los programas cliente MySQL:
  • En la propia línea de comandos, tecleándolos cada vez que se utiliza el programa
  • En un archivo de opciones que se lee cada vez que se ejecuta el programa
  • En variables de entorno
Una opción podría estar informada en los tres métodos pero eso no genera un problema porque hay un orden de prioridades. El comando primero analiza las variables de entorno, luego los archivos de opción y finalmente la línea de comandos; si una opción aparece en las tres partes se toma la opción de la línea de comandos (prioridad máxima) y si aparece en las variables de entorno y en el archivo de opción, toma el valor del archivo de opciones (prioridad media). Es decir, sólo utiliza el valor de las variables de entorno si sólo aparece allí (prioridad más baja).
 
Ya hemos visto cómo se utilizan las opciones en la línea de comandos. La introducción de las opciones en las líneas de comandos es una tarea propensa a errores de tecleo, pero MySQL nos ayuda al darnos la posibilidad de almacenar las opciones comúnmente utilizadas en un archivo de opciones que es el método más cómodo y  que utiliza  el archivo  my.ini o my.cnf, así nos ahorraremos la introducción de esas opciones cada vez que utilicemos el comando.
 
En un sistema Windows, al archivo my.ini lo encontraremos en la carpeta del sistema y al archivo my.cnf en la raíz del disco C:.
En Unix, los programas leerán los archivos de opciones desde estas carpetas:
  • /etc/my.cnf 
  • Carpeta datos de MySQL/my.cnf (la carpeta de datos de MySQL generalmente estará en 'usr/local/mysql/data' o 'usr/local/var'.
Nota: si el archivo my.ini o my.cnf no existiese podríamos crearlo fácilmente con un editor de texto, por ejemplo, el bloc de notas.
 
Por ejemplo, si en nuestro equipo utilizamos siempre el usuario Ed001 y la contraseña PSWED001 con el bloc de notas o cualquier procesador de texto podríamos introducir estas líneas en el archivo my.ini:
...
[mysql]
user=Ed001
password=PSWED001
...
Pero no todos los comandos acceden al archivo de opciones. Los comandos que admiten el uso de archivo de opción son los siguientes:
  • myisamchk
  • myisampack
  • mysql
  • mysql.server
  • mysql_safe
  • mysqladmin
  • mysqlbinlog
  • mysqlcc
  • mysqlcheck
  • mysqld
  • mysqldump
  • mysqlhotcopy
  • mysqlimport
  • mysqlshow
El tercer método para la especificación de las opciones es el de la utilización de las variables de entorno que nos permite asignar variables a nivel de sistema (en Windows, un medio sería el uso de AUTOEXEC.BAT) con el nombre y el valor de la variable. Por ejemplo, para asignar un valor a la variable host asignaríamos:
SET HOST=LOCALHOST
Este método es menos práctico que el uso del archivo de opciones ya que el modo de la definición de las opciones varía entre un sistema operativo y otro, mientras que el archivo de opción es totalmente transportable.
izq sup der

Deja un comentario