Una cosa que he visto usar muchas veces y que siempre me ha parecido un disparate es el uso de ORDER BY RAND() en tablas grandes. Es un ejemplo más de como se pasa lógica que debería estar en la aplicación a la base de datos. Vamos a ver en ejemplo un poco extremo. Vamos [...]
Todavía estas a tiempo de inscribirte en el curso certificado MySQL para Desarrolladores! Lugar: Calle Don Jaime I, 33, 3ro derecha, Zaragoza. Fecha: 08 al 12 de noviembre de 2010. ¿Quieres aprender como utilizar MySQL en tus aplicaciones? ¿Necesitas usar procedimientos almacenados, triggers o vistas? ¿Quieres crear informes complejos, o utilizar consultas avanzadas para obtener [...]
A partir de la versión 7.0 y 7.1 se han añadido nuevas funcionalidades a MySQL Cluster que aumentan tanto la escalabilidad como el rendimiento de la base de datos. La nueva mejora que hoy voy a tratar aquí es la posibilidad de añadir nuevos nodos de almacenamiento a nuestro cluster en caliente sin necesidad de hacer una parada de mantenimiento.
A la hora de escalar nuestro cluster hay que tener en cuenta siempre el número de réplicas (NoOfReplicas) y el número de nodos que queremos. Debemos recordar que dicho número debe ser divisible y al mismo tiempo que tanto uno como otro tienen un límite. En el ejemplo que voy a mostrar tendremos la base de datos con dos réplicas y dos nodos y lo pasaremos a 2 réplicas y 4 nodos. De esta forma, pasaremos de tener un único Node Group (2/2=1) a tener dos Node Groups (4/2=2).
El primer paso es configurar los Management Node. Para ello añadimos los dos nuevos ndbd a los ficheros …
[Lea más]Si bien hay muchas páginas de internet que explican éste procedimiento en idioma Inglés, y algunas otras en Español, en esta entrada recordaremos como restablecer la contraseña de administración de la cuenta root, de MySQL Server, ya que es posible que alguna vez lo necesitemos y así evitar “perder” tiempo en buscar en google el procedimiento, espero que a ustedes también les ayude
Pasos a Seguir:
Paso 1) Dar Stop al servidor de MySQL ( mysqld )
mysql@oventic:~$ /etc/init.d/mysql stop * Stopping MySQL database server mysqld [ OK ]
mysql@oventic:~$ Paso 2) Re-iniciar el proceso mysqld con la opción --skip-grant-tables, más adelante explicaremos que especifica ésta opción. mysql@oventic:~$ /opt/enterprise/mysql/bin/mysqld_safe --skip-grant-tables 101019 16:40:55 mysqld_safe Logging to syslog. 101019 16:40:55 mysqld_safe Starting mysqld daemon with …[Lea más]
Algunas veces es común que confundamos las tecnologías MySQL Cluster y Clustering de MySQL Server, en este post revisaremos cuales son sus características y cuales sus principales diferencias.
Primero, es importante recordar que MySQL es una tecnología que provee 2 productos para la administración de Bases de Datos relaciones, éstos productos son:
- MySQL Server (al escribir ésta entrada, la versión más reciente de MySQL Server es …
Finalmente, aunque estuve a punto de tirar la toalla, estoy certificado en MySQL Cluster. Después de múltiples problemas con el soporte de Oracle y el /ignore que me había puesto Prometric, pude hacer el exámen. Tengo que dar las gracias a Brandye Barrington de Oracle, sin su ayuda mi certificado de MySQL DBA5.0 aún estaría en el limbo entre PearsonVUE y Prometric. Gracias a el tuve mi certificado migrado y pude examinarme :)
Sobre MySQL Cluster que decir... una gran herramienta pensada para ofrecer un rendimiento brutal y una alta disponibilidad casi perfecta. La verdad, tener un servidor MySQL Cluster con 50 GB de RAM y que toda la BBDD e índices estén en RAM y particionados por múltiples nodos... me suena como una poesía :) Espero que la herramienta siga avanzando, ya que es la mejor solución libre que existe para bases de datos gigantes, con necesidades de alto throughput, escalabilidad, alta disponibildiad y failover. …
[Lea más]En un entorno master-slave de MySQL es posible que nos encontremos que se han ejecutado en el master comandos que no se pueden trasladar al slave por algún motivo. Vamos a ver como saltarnos las queries mediante sql_slave_skip_counter Vamos a ver un caso concreto, supongamos que en el slave nos encontramos el siguiente error en [...]
En este post voy a explicar como instalar rapidamente MariaDB en
Fedora 13
Primero vamos a descargar el ultimo release desde http://askmonty.org/wiki/MariaDB:Download#Binaries
En este caso yo descargue el binario para 64 bits
(mariadb-5.1.49-Linux-x86_64.tar.gz)
Cuando lo descargamos realizamos lo siguiente:
[root@host ~]#groupadd mysql [root@host ~]# useradd -g mysql mysql [root@host ~]# cd /usr/local [root@host ~]# gunzip < /home/usuario-test/Downloads/mariadb-5.1.49-Linux-x86_64.tar.gz | tar xvf - [root@host ~]# ln -s la-ruta-a-mariadb-5.1.49-Linux-x86_64 mysql [root@host ~]# cd mysql [root@host ~]# chown -R mysql . [root@host ~]# chgrp -R mysql . [root@host ~]# scripts/mysql_install_db --user=mysql [root@host ~]# chown -R root . [root@host ~]# chown -R mysql data [root@host ~]# bin/mysqld_safe --user=mysql …[Lea más]
Al compilar el MySQL puede ser que tengamos el siguiente error: error: redeclaration of C++ built-in type 'bool' Vamos a ver como solucionarlo. Este error sale cuando hemos hecho el ./configure sin tener instalado el compilador g++, luego cuando se ha quejado con el siguiente error: source='my_new.cc' object='my_new.o' libtool=no \ DEPDIR=.deps depmode=none /bin/sh ../depcomp \ [...]
Una vez que conocemos la teoría, vamos a poner en marcha nuestro primer Cluster. Estará compuesto únicamente por 3 ordenadores.
Nodo 1 (192.168.1.106):
- ndb_mgmd
- mysqld
Nodo 2 (192.168.1.104):
- ndbd
Nodo 3 (192.168.1.105):
- ndbd
Esto es, el nodo 1 será un Management Node + API Node y los dos restantes Data Nodes.
Lo primero de todo es descargarnos MySQL Cluster de http://dev.mysql.com/downloads/cluster/
La instalación es tan sencilla como descomprimir el fichero y copiar a nuestro PATH los ejecutables que necesitemos. Por lo tanto, llevaremos a /usr/bin/ los ejecutables ndbd, ndb_mgmd, ndb_mgm, mysqld, mysqld_safe.
Para tener un poco ordenadas las cosas, creamos la carpeta /etc/mysql-cluster/ donde alojaremos el fichero de …
[Lea más]