[+/-]
mysql es un simple shell SQL (con capacidades
GNU readline
). Soporta uso interactivo y no
interactivo. Cuando se usa interactivamente, los resultados de las
consultas se muestran en formato de tabla ASCII. Cuando se usa no
interactivamente (por ejemplo, como filtro), el resultado se
presenta en formato separado por tabuladores. El formato de salida
puede cambiarse usando opciones de línea de comandos.
Si tiene problemas relacionados con memoria insuficiente para
conjuntos de resultados grandes, utilice la opción
--quick
. Esto fuerza mysql a
devolver los resultados desde el servidor registro a registro en
lugar de recibir todo el conjunto de resultados y almacenarlo en
memoria antes de mostrarlo. Esto se hace usando
mysql_use_result()
en lugar de
mysql_store_result()
para recibir el conjunto
de resultados.
Usar mysql es muy sencillo. Invóquelo desde el prompt de su intérprete de comandos como se muestra a continuación:
shell> mysql nombre_base_de_datos
O:
shell> mysql --user=nombre_usuario
--password=contraseña
nombre_base_de_datos
Cuando introduzca un comando SQL, acábelo con
';
', \g
, o
\G
y pulse Enter.
Puede ejecutar un script simplemente así:
shell> mysqlnombre_base_de_datos
<script.sql
>output.tab
mysql soporta las siguientes opciones:
--help
, -?
Muestra el mensaje de ayuda y sale.
--batch
, -B
Muestra los resultados usando tabuladores como separadores de columnas, con cada registro en una nueva línea. Con esta opción mysql no usa el fichero de historial.
--character-sets-dir=
ruta
Directorio donde los conjuntos de caracteres están instalados. Consulte Sección 5.9.1, “El conjunto de caracteres utilizado para datos y ordenación”.
--compress
, -C
Comprime toda la información enviada entre el cliente y el servidor si ambos soportan compresión.
--database=
,
nombre_base_de_datos
-D
nombre_base_de_datos
La base de datos a usar. Esto es útil sobretodo en un fichero de opciones.
--debug[=
,
opciones_de_depuración
]-#
[
opciones_de_depuración
]
Escribe un log de depuración. La cadena de caracteres
opciones_de_depuración
a menudo es
'd:t:o,
.
Por defecto es nombre_de_fichero
''d:t:o,/tmp/mysql.trace'
.
--debug-info
, -T
Muestra alguna información de depuración al salir del programa.
--default-character-set=
conjunto de
caracteres
Usa conjunto de caracteres
como
conjunto de caracteres por defecto. Consulte
Sección 5.9.1, “El conjunto de caracteres utilizado para datos y ordenación”.
--execute=
,
comando
-e
comando
Ejecuta el comando y sale. El formato de salida por defecto es
como el producido con --batch
. Consulte
Sección 4.3.1, “Usar opciones en la línea de comandos” para algunos ejemplos.
--force
, -f
Continua incluso si ocurre un error SQL.
--host=
,
nombre_equipo
-h
nombre_equipo
Conecta al servidor MySQL en el equipo especificado.
--html
, -H
Produce la salida en HTML.
--ignore-space
, -i
Ignora espacios tras los nombres de funciones. El efecto de
esta opción se describe en la discusión para
IGNORE_SPACE
en
Sección 5.3.2, “El modo SQL del servidor”.
--local-infile[={0|1}]
Activa o desactiva la función LOCAL
para
LOAD DATA INFILE
. Sin valor, la opción
activa LOCAL
. Puede darse como
--local-infile=0
o
--local-infile=1
para desactivar
explícitamente o activar LOCAL
. Activar
LOCAL
no tiene efecto si el servidor no lo
soporta.
--named-commands
, -G
Los comandos con nombre están activados
por defecto. Se permite comandos con formato largo así como
comandos abreviados con \*. Por ejemplo, se reconoce tanto
quit
como \q
.
--no-auto-rehash
, -A
No hay un recálculo del hash (rehashing) automático. Esta
opción hace que mysql arranque más
rápido, pero debe realizar el comando
rehash
si quiere usar el completado
automático de tabla y columna.
--no-beep
, -b
No hace ningún sonido cuando ocurre un error.
--no-named-commands
, -g
Desactiva los comandos con nombre. Use la forma
\*
únicamente, o use comandos con nombre
sólo al comienzo de una línea, acabando con punto y coma
(';
'). Desde MySQL 3.23.22,
mysql arranca con esta opción
activada por defecto. De todos modos,
incluso con esta opción, los comandos con formato largo
funcionan desde la primera línea.
--no-pager
No usa paginación para mostrar la salida de una consulta. La paginación en la salida se discute más en Sección 8.3.1, “Comandos mysql”.
--no-tee
No copia la salida en un fichero. Los ficheros tee se discuten más en Sección 8.3.1, “Comandos mysql”.
--one-database
, -O
Ignora comandos excepto aquéllos para la base de datos por defecto, nombrada en la línea de comandos. Esto es útil para evitar actualizaciones de otras bases de datos en el log binario.
--pager[=
comando
]
Este comando se utiliza para paginar la salida de una
consulta. Si el comando se omite, el paginador por defecto es
el valor de la variable de entorno PAGER
.
Paginadores válidos son less,
more, cat [>
nombre_de_fichero], etcétera. Esta opción sólo
funciona en Unix. No funciona en modo batch. La paginación de
la salida de datos (output) se discute también en
Sección 8.3.1, “Comandos mysql”.
--password[=
,
contraseña
]-p[
contraseña
]
La contraseña a usar al conectar al servidor. Si se usa la
forma de opción corta (-p
),
no se deben poner espacios entre la
opción y la contraseña. Si se omite el valor de la
contraseña, a continuación de --password
o
-p
en la línea de comandos, aparece un
prompt pidiéndola. La contraseña debe omitirse en sistemas
Unix basados en SysV, ya que debe mostrarse en la salida de
ps
.
--port=
,
puerto_num
-P
puerto_num
El puerto TCP/IP a usar en la conexión.
--prompt=
formato_cadena
Asigna al prompt el formato especificado. Por defecto es
mysql>
. Las secuencias especiales que
soporta el prompt se describen en
Sección 8.3.1, “Comandos mysql”.
--protocol={TCP | SOCKET | PIPE | MEMORY}
Protocolo de conexión a usar.
--quick
, -q
No cachea cada resultado de consulta, muestra cada registro según va llegando. Esto puede ralentizar el servidor si la salida se suspende. Con esta opción, mysql no usa el fichero histórico.
--raw
, -r
Muestra los valores de las columnas sin conversión de escape.
Se usa a menudo con la opción --batch
.
--reconnect
Si se pierde la conexión con el servidor, intenta reconectar
automáticamente. Se intenta un único intento de reconexión
cada vez que se pierde la conexión. Para eliminar el
comportamiento de la reconexión, use
--skip-reconnect
.
--safe-updates
,
--i-am-a-dummy
, -U
Sólo permite aquellos comandos UPDATE
y
DELETE
que especifica cuáles registros se
deben modificar usando valores clave. Si tiene activada esta
opción en un fichero de opciones, puede evitarla usando
--safe-updates
en la línea de comandos.
Consulte Sección 8.3.3, “Sugerencias acerca de mysql” para más información
sobre esta opción.
--secure-auth
No envía contraseñas al servidor en formato antiguo (pre-4.1.1). Esto evita realizar conexiones con servidores que no usen el formato de contraseña nuevo.
--show-warnings
Muestra los mensajes de advertencia tras cada comando, si es necesario. Esta opción se aplica en modo interactivo y batch. Esta opción se añadió en MySQL 5.0.6.
--sigint-ignore
Ignora señales SIGINT
(típicamente el
resultado de pulsar Control-C).
--silent
, -s
Modo silencioso. Produce menos salida de datos (output). Esta opción puede utilizarse múltiples veces para producir cada vez menos salida de datos.
--skip-column-names
, -N
No escribe nombres de columnas en los resultados.
--skip-line-numbers
, -L
No escribe el número de línea en los errores. Es útil cuando se quiere comparar ficheros de resultados que incluyan mensajes de error.
--socket=
,
ruta
-S
ruta
Fichero socket a usar para la conexión.
--table
, -t
Muestra la salida de datos (output) en formato de tabla. Éste es el modo de funcionamiento por defecto para modo interactivo, pero puede usarse para producir la salida de datos de la tabla en modo batch.
--tee=
nombre_fichero
Añade una copia de la salida de datos (output) al fichero dado. Esta opción no funciona en modo batch. Más información sobre ficheros tee en Sección 8.3.1, “Comandos mysql”.
--unbuffered
, -n
Vuelca el buffer después de cada consulta.
--user=
,
nombre_usuario
-u
nombre_usuario
El nombre de usuario MySQL usado al conectar al servidor.
--verbose
, -v
Modo explícito. Produce más salida de datos (output) acerca
de lo que hace el programa. Esta opción puede escribirse
múltiples veces para producir más y más salida. (Por
ejemplo, -v -v -v
produce la salida de datos
en formato de tabla incluso en modo batch.)
--version
, -V
Muestra información de la versión y sale.
--vertical
, -E
Muestra los registros de salida de la consulta verticalmente
(una línea por cada valor). Sin esta opción, se puede
solicitar este formato de salida de datos (output) para un
comando escribiendo \G
al final del mismo.
--wait
, -w
Si la conexión no puede establecerse, espera y vuelve a intentarlo en lugar de abortar.
--xml
, -X
Produce salida XML.
Puede asignar las siguientes variables usando las opciones
--
:
nombre_variable
=valor
connect_timeout
Número de segundos antes que la conexión dé un timeout. (El valor por defecto es 0).
max_allowed_packet
La máxima longitud del paquete para enviar al o recibir del servidor. (El valor por defecto es 16MB).
max_join_size
El límite automático de registros en un join al usar
--safe-updates
. (El valor por defecto es
1.000.000).
net_buffer_length
El tamaño de búfer para comunicaciones TPC/IP y socket. (El valor por defecto es 16KB).
select_limit
Límite automático para comandos SELECT
al
usar --safe-updates
. (El valor por defecto es
1.000).
Es posible asignar valores a las variables usando la sintaxis
--set-variable=
o nombre_variable
=valor
-O
.
En MySQL 5.0, esta sintaxis está obsoleta.
nombre_variable
=valor
En Unix, el cliente mysql escribe un registro
de los comandos ejecutados en un fichero histórico. Por defecto,
el fichero histórico se llama .mysql_history
y se crea en el directorio raíz del usuario. Para especificar un
fichero diferente, cámbiese el valor de la variable de entorno
MYSQL_HISTFILE
.
Si no se quiere mantener el fichero histórico, primero hay que
borrar .mysql_history
si existe, y luego se
utiliza alguna de las siguientes técnicas:
Se cambia el valor de la variable
MYSQL_HISTFILE
a
/dev/null
. Para que este cambio tenga
efecto cada vez que se entra, se pone la asignación de esta
variable de entorno en uno de los ficheros de arranque de la
shell del usuario.
Se crea .mysql_history
como enlace
simbólico a /dev/null
:
shell> ln -s /dev/null $HOME/.mysql_history
Sólo es necesario hacer esto una vez.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.