Displaying posts with tag: MySQL (reset)
Desintoxicándose de Google con Software Libre

Poco a poco todos vamos utilizando todas y cada una de las aplicaciones de Google y entregando todos nuestros datos, fotos, gustos, necesidades, etc. Yo me di cuenta cuando noté, que aún teniendo un VPS, leía los RSS en Google Reader, veía mis fotos en Picasa Web Album, leía mi correo en Gmail, subía mis ficheros a Google Docs, apuntaba mis tareas en iGoogle. Entonces, ¿para que cojones tengo un servidor dedicado?

Me propuse como tarea principal migrar todos esos servicios a algo que YO pueda controlar, así que me pasé una tarde bastante aburrida navegando por Freshmeat. Y encontré soluciones (todas ellas Php+Mysql) más que válidas:

PHPfileNavigator: interfaz web para la administración de ficheros. Se puede subir cualquier tipo de ficheros, comprimirlos, subdividirlos en carpetas, buscador, múltiples usuarios, soporte para miniaturas, etc. Al contrario que con …

[Lea más]
Paginado de Mysql

Muchas veces ejecutamos queries cuyas salidas no entran en la pantalla, obligando a desplazarnos de arriba abajo una y otra vez para encontrar el contenido que nos interesa. En una shell la solución es sencilla, utilizar un pipe para a continuación enviar la salida a un comando de paginado como more o less. Bien, esto también es posible en MySQL.

mysql> pager more

Y listo. Ahora cada vez que hagas una querie, esta será enviada a more, mostrandote el resultado pantalla a pantalla. Pero si nos paramos a pensar podemos encontrar muchas mas utilidades a este comando. Por ejemplo:

mysql> pager md5sum

Con este tenemos un resumen md5 de la salida del comando, util para saber rápidamente si algún dato ha sido modificado.

mysql> pager mail -s "salida de mysql" direccion@dominio.com

Y con este la salida de un comando se enviará directamente por correo a la dirección indicada.

[Lea más]
Primer curso MySQL Cluster en España

Nuevo: ¡¡¡Elige cualquier Paquete de certificación ‘Success’ en Java o MySQL (curso + voucher de certificación) y podrá volver a examinarse gratuitamente, en caso de que no apruebe. Promoción sólo hasta el 31 de diciembre!!! Reserve su curso ahora y obtenga un descuento del 10% + iPod Touch de regalo El próximo 30 de noviembre [...]

MySQL Community VS. Perconas Build

La diferencia salta a la vista ;)

Lista de parches aplicados

Original

Truco: tabla de permisos

Mysql tiene muchos posibles permisos a establecer. Algunos son globales, otros de tablas, otros de bases de datos... Recordar todos es dificil y además una perdida de tiempo. Un truquito para conocer todos los posibles permisos, descripción y ámbito de uso :)

mysql> show privileges\G
*************************** 1. row ***************************
Privilege: Alter
Context: Tables
Comment: To alter the table
*************************** 2. row ***************************
Privilege: Alter routine
Context: Functions,Procedures
Comment: To alter or drop stored functions/procedures
*************************** 3. row ***************************
Privilege: Create
Context: Databases,Tables,Indexes
Comment: To create new databases and tables
*************************** 4. row ***************************
Privilege: Create routine
Context: …

[Lea más]
Monitorizar la replicación de Mysql

Imaginemos que tenemos una infraestructura Maestro/Esclavo y el esclavo lo usamos para lecturas, backup o simplemente para dar un servicio mínimo si el Maestro se cae. Imaginemos que dicha replicación lleva caída un mes y el Maestro se rompe. Cuando te das cuenta es demasiado tarde y entonces toca imaginarse como huir sin que te pillen :)

Monitorizar si la replicación es correcta es sencillo, ya que MySQL nos puede dar en segundos el desfase que existe entre un host y otro a la hora de replicar los cambios. Con "SHOW SLAVE STATUS\G" tendremos la información que necesitamos:

*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.60.1.3
Master_User: replication
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000021
Read_Master_Log_Pos: 327326
Relay_Log_File: mysqld-relay-bin.000061

[Lea más]
Oracle: Nosotros no competimos contra MySQL

Esa frase, pronunciada por Ellison (CEO de Oracle), es una frase más propia del Capitán Obvio.

Ahora mismo la situación es algo incierta para SUN, con 100 millones de perdidas cada mes necesita la fusión cuanto antes de las dos empresas para dejar tirar dinero, pero para ello necesitan la aprobación de los tribunales tanto Estadounidenses como Europeos. Este recelo es lógico, ya que las dos empresas tienen como pilares básicos dos Bases de Datos, Oracle y MySQL. Pero algo que está claro, es que a pesar de ser lo mismo, no tiene ni el mismo enfoque ni el mismo mercado como objetivo, por lo tanto la frase de Ellison es de una lógica más que aplastante. MySQL no es competencia para ellos y no se desharán de el. Ni de Mysql ni de otras de las punteras tecnologías que SUN dispone, como SPARC, almacenamiento, virtualización, etc.

"We are keeping everything. We're keeping tape. We're keeping storage. We're keeping x86 …

[Lea más]
Replicación desincronizada

A veces puede darse el caso de una desincronización entre los distintos servidores que forman parte nuestra infraestuctura. Esto puede causar tanto la caida del host desincronizado como la caida de casi todo el sistema si estamos ante una replicación circular. Dichas desincronizaciones pueden deberse a muchas causas, fallos en MySQL, en nuestra aplicación, en la red, en la configuración de los sistemas, etc. O como no, un fallo humano, como por ejemplo borrar o modificar tablas y registros en un servidor Esclavo.

Cuando esto ocurre se pasa siempre por dos fases:

1- Histeria

2- Solución

La fase de histeria es bien conocida, así que iremos directamente a la solución.

Si analizamos los logs del servidor desincronizado, podemos ver cual es la query problematica y descrubir la razón del problema:

Sep 11 11:13:16 test2 mysqld[6776]: 090911 11:13:16 [ERROR] Slave: Error 'Table 't' already …

[Lea más]
Arquitectura Maestro / Esclavo en Mysql

Cuando se trabaja con bases de datos hay dos cosas sobre las que se prestan especial atención:

  • Copias de seguridad
  • Balanceo de carga

Y la solución tiene un único nombre, replicación :) La replicación se basa en unos conceptos muy básicos y sencillos. En lugar de tener un servidor MySQL tenemos un número N, que se dividen en Maestros y Esclavos, cada uno con una tarea muy especifica. A la hora de diseñar nuestra red de servidores hay que tener en cuenta las siguientes reglas:

  • Un Maestro puede tener múltiples Esclavos.
  • Un Esclavo puede tener un único Maestro.
  • Los Maestros envian las modificaciones realizadas en las BBDD a los Esclavos.
  • Los esclavos no pueden modificar la BBDD a su antojo, solamente recibir las modificaciones del Maestro y aplicarla.

En resumidas cuentas, como máximo un Maestro (escritura) y múltiples Esclavos …

[Lea más]
Promoción MySQL: -10% + Sony Playstation Portable

Reserve en Warp un curso de MySQL ahora y obtenga un 10% de descuento + Regalo de Sony Playstation Portable

Oferta válida para cursos reservados antes del 30 de Septiembre de 2009 (Atendiendo al curso antes del 30 de noviembre).

Listado de Cursos cualificados para administradores de bases de datos:
MySQL for Beginners
MySQL for Database Administrators
MySQL Performance Tuning
MySQL …

[Lea más]