Essential MySQL – Hoja de ayuda rápida de MySQL

//refcardz.dzone.com/sites/all/files/refcardz/covers/8236.png

La gente de refcardz.dzone.com a publicado una utilísima hoja de referencia rápida sobre MySQL en formato PDF disponible para descargar totalmente gratis.

Este PDF consta en total de 6 páginas con los siguientes temas:

  • Configuración.
  • Motores de almacenamiento.
  • Tipos de datos.
  • Tareas del administrador.
  • Y trucos entre otros.

Essential MySQL sin dudas un recurso muy útil para descargar y tener siempre a la mano.

Continuar leyendo «Essential MySQL – Hoja de ayuda rápida de MySQL»

Exportar tablas de base de datos MySQL en formato XML

A continuación os comento la necesidad que tenia un cliente nuestro para publicitar su tienda virtual en los distintos escaparates y webs como ciao.es, mercamania.com….etc… y  es que necesitaba exportar todos los prodcutos, familias y categorias, por separado a un formato xml y a una URL fija, pues bien como la base de datos tenia las tablas de productos, familias y categorias por separado, lo unico que hice fue un ejecutable para que exportase las tablas y este añadirlo a una tarea de cron que se ejecutara todos los dias a una hora y tal. Aqui os dejo el simple script.

Continuar leyendo «Exportar tablas de base de datos MySQL en formato XML»

Comandos para bases de datos MySQL

Estos son algunos comandos útiles usados por MySQL para manejar bases de datos. Es un listado básico donde no hay mucha explicación. Simplemente es una guía para comenzar a trabajar con las bases de datos Mysql.

Obtener información sobre las bases de datos Mysql :

  • show databases; – Listar todas las bases de datos.
  • connect [database]; – Conectarse a esa base de datos.
  • show tables; – Listar todas las tablas de una base de datos.
  • show table status; – Muestra informacion sobre las tablas de la base de datos.
  • describe [table]; – Muestra la estructura de una tabla de la base de datos.

Manejo de bases de datos Mysql :

  • drop table [table]; – Elimina la tabla, incluyendo registros y estructura.
  • drop table if exists [table]; – Elimina la tabla de la base de datos, pero antes verifica que exista.
  • truncate table [table]; – Elimina los registros, pero mantiene la esrtuctura de la tabla.
  • rename table [table] to [nuevo nombre de tabla]; – Renombra una tabla de la base de datos.

Algunos comandos útiles para consultas a las bases de datos Mysql:

  • select * from [table] limit [numero]; – Muestra los registros desde el 1 hasta [numero].
    Ej. select * from tabla limit 10; – Muestra los 10 primeros registros.
    select * from [table] limit [numero inicio],[numero]; – Muestra los registros desde el numero de inicio hasta numero inicio + numero.
    Ej. select * from tabla limit 11,10; – Muestra desde registro 11 hasta el 20.

Bases de datos Mysql en consola :

  • $ mysqladmin -u -p create – crear base de datos.
  • $ mysqladmin -u -p drop – borrar la base de datos.
  • $ mysqladmin -u root -p proc – listar procesos en ejecucion en el servidor de bases de datos Mysql.
  • $ mysqladmin -u root -p -i 5 status – verificar status cada 5 segundos.
  • $ mysqldump –opt -u -h -p > /path/to/file – Exportar base de datos a un archivo.
  • $ mysqldump –opt -u -h –all-databases -p > /path/to/file – Exportar TODAS las bases de datos a un archivo.
  • $ mysql -h -u -p < /path/to/file – Importar un archivo a la base de datos a mysql
  • $ mysqlcheck -o -u root -p –all-databases – Optimizar las bases de datos mysql.

Verificación y reparación de errores en las bases de datos Mysql :

  • check table [table]; – Verificar la tabla.
  • repair table [table]; – Reparar la tabla rota.

Algún otro comando útil de MySQL?? Se aceptan sugerencias¡¡¡

Activar MySQL Log Slow Queries

Comprobamos que, efectivamente, tenemos el log de querys lentas desactivado.

# mysqladmin var -uusario -ppassword |grep log_slow

| log_slow_queries | OFF

Editamos de la siguiente forma el archivo de configuración de MySQL, normalmente ubicado en /etc/my.cnf


log-slow-queries=/var/log/mysql-slow-queries.log
long_query_time = 1
log-queries-not-using-indexes

log-slow-queries, establece el lugar físico del archivo de log
long_query_time, establece a partir de que cantidad de segundos se considera lenta una query
log-queries-not-using-indexes, también logueará las queries lentas que no utilizen índices

Creamos el fichero mysq-slow-queries y ajustamos permisos


# touch /var/log/mysql-slow-queries.log
# chown mysql.root/var/log/mysql-slow-queries.log

Y reiniciamos el servidor

# /etc/init.d/mysqld stop
# /etc/init.d/mysqld start

Cuando tengamos algo de información útil en el archivo, podemos atacar directamente a las consultas más lentas, filtrandolas por la cantidad de tiempo empleado usando mysqldumpslow

# mysqldumpslow -t 10 /var/log/mysql-slow-queries.log

Fuente:  r u b e n o r t i z .es