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]MySQL Cluster es una base de datos que como su nombre indica funciona en un Cluster de servidores. Mucha gente confunde terminos y define un conjunto de servidores con replicación como un MySQL Cluster, pero hay que tener en cuenta que son dos conceptos totalmente distintos. MySQL Cluster nos ofrece:
- Alta disponibilidad
- Escalabilidad
- Failover automático
- Redundancia
- Alto throughput
La versión actual es la 7.1 y puede descargarse de http://www.mysql.com/products/database/cluster/
Componentes
Un Cluster MySQL está compuesto por los siguientes componentes:
Manager (ndb_mgmd): es un servicio encargado de poner en marcha el cluster, conectar nuevos servidores y ejecutar distintos comandos de administración mediante el CLI ndb_mgm. Una vez que …
[Lea más]Del brazo de Oracle llego la tan esperada version 5.5 de MySQL con InnoDB 1.1 que se muestra como la Default Storage Engine desplazando a MyISAM.
Dentro de los principales cambios tenemos
- Bloqueo de Metadata con las transacciones
- Particion por columnas (Antes solo lo teniamos por filas)
-
PERFORMANCE_SCHEMA
para el analisis de la performance y asi obtener mayor control a un bajo nivel. - Replicacion semi-sincronica.
Bloqueo de Metadata con las transacciones:
Supongamos que estamos realizando una transaccion, y alguien quisiera hacer algun DDL como un Drop de la tabla t1 donde nosotros estamos realizando una transaccion y otra de las sesiones quiere realizar un drop. ¿Que pasaria? Bueno con metadata locking evitariamos un problema de esta indole.
PERFORMANCE_SCHEMA
[mysql] show …[Lea más]
MySQL PostgreSQL SQLite
TINYINT SMALLINT INTEGER
SMALLINT SMALLINT
MEDIUMINT INTEGER
BIGINT BIGINT
BIT BIT INTEGER
_______________________________________________________
TINYINT UNSIGNED SMALLINT INTEGER
SMALLINT UNSIGNED INTEGER
MEDIUMINT UNSIGNED INTEGER
INT UNSIGNED BIGINT
BIGINT UNSIGNED NUMERIC(20)
_______________________________________________________
DOUBLE DOUBLE PRECISION REAL
FLOAT REAL REAL
DECIMAL DECIMAL REAL
NUMERIC NUMERIC REAL
_______________________________________________________
BOOLEAN BOOLEAN INTEGER
_______________________________________________________
DATE DATE TEXT
TIME TIME
DATETIME TIMESTAMP
_______________________________________________________
TIMESTAMP DEFAULT TIMESTAMP DEFAULT TEXT
NOW() NOW()
…
Vamos a ir repasando algunas herramientas utiles para el trabajo del DBA de MySQL que nos ayudan a administrar nuestros servidores para poder ver de otra forma la performance de los mismos.
Las herramientas que vamos a ver son:
- MySQL Enterprise Monitor http://www.mysql.com/products/enterprise/monitor.html
- Monyog http://www.sqlyog.com
- dim_Stat http://dimitrik.free.fr/
- Cacti http://www.cacti.net
- HoneyMonitor
- Nagios
- Munin
En este post vamos a hacer muy sencilla la replicacion con mysql y vamos a dar una intro a como podemos realizar esto para luego tratar de abordar casos un poco mas avanzados.
En el servidor Master
Debemos dejar parte de nuestro my.cnf asi:
[mysqld] # The TCP/IP Puerto en el que escuchara nuestro MySQL port=3306 server-id=1 binlog-do-db=BASEAREPLICAR log-bin = /var/log/mysql/masterserver-bin.log
Luego desde el shell creamos el usuario
GRANT REPLICATION SLAVE ON *.* TO 'usuario_slave'@'%' IDENTIFIED BY 'password'; +-----------------------+----------+--------------+------------------+ | File | Position | Binlog_do_db | Binlog_ignore_db | +-----------------------+----------+--------------+------------------+ | masterserver-bin.004 | 206 | baseareplicar| | +-----------------------+----------+--------------+------------------+ 1 row in set (0.00 sec)
…
[Lea más]Mediante un ALTER DATABASE es posible mover todos los datos del datadir a un nuevo punto, haciendo desaparecer todas las bases de datos. Vamos a suponer las siguientes base de datos: mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | cacti | | jordi | | mysql | | nagios | | [...]