Instalando MariaDB 5.1.49 en Fedora 13

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 &

La instalacion es igual que instalar MySQL, RECUERDEN QUE DEBEREMOS PONER UNA CONTRASENA A NUESTRO SERVIDOR DE MARIADB Luego de ingresar por primera vez

Posted in Principal | Leave a comment

MySQL 5.5 con InnoDB 1.1

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 tables;
+———————————————-+
| Tables_in_performance_schema                 |
+———————————————-+
| COND_INSTANCES                               |
| EVENTS_WAITS_CURRENT                         |
| EVENTS_WAITS_HISTORY                         |
| EVENTS_WAITS_HISTORY_LONG                    |
| EVENTS_WAITS_SUMMARY_BY_EVENT_NAME           |
| EVENTS_WAITS_SUMMARY_BY_INSTANCE             |
| EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME |
| FILE_INSTANCES                               |
| FILE_SUMMARY_BY_EVENT_NAME                   |
| FILE_SUMMARY_BY_INSTANCE                     |
| MUTEX_INSTANCES                              |
| PERFORMANCE_TIMERS                           |
| PROCESSLIST                                  |
| RWLOCK_INSTANCES                             |
| SETUP_CONSUMERS                              |
| SETUP_INSTRUMENTS                            |
| SETUP_OBJECTS                                |
| SETUP_TIMERS                                 |
+———————————————-+
18 rows in set (0.00 sec)

Posted in Principal | Leave a comment

Data Types Comparacion MySQL-Oracle-PostgreSQL-MSQL

Posted in Principal | Leave a comment

Herramientas de Monitoreo para MySQL

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
Posted in Principal | Leave a comment

Replicacion en MySQL

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 ‘<contraseña>’;

+-----------------------+----------+--------------+------------------+
| File                  | Position | Binlog_do_db | Binlog_ignore_db |
+-----------------------+----------+--------------+------------------+
| masterserver-bin.004  | 206      | baseareplicar|                  |
+-----------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

en el Slave

Como primer medida debemos volcar el dump original del master sobre nuestro SLAVE para no hacer un LOAD DATA FROM MASTER (otra opcion) y evitar lockear el servidor master. Entonces hacemos una importancion de la base del master y luego en nuestro my.cnf vamos a agregar o siguiente:

server-id=2
master-host=192.168.0.18
master-user=usuario_slave
master-password=contraseña
master-connect-retry=60
replicate-do-db=baseareplicar

Luego el siguiente paso es START SLAVE en nuestro SLAVE y si tuvieramos algun inconveniente simplemente desde consola hacemos lo siguiente:

STOP SLAVE;

CHANGE MASTER TO MASTER_HOST=’192.168.0.18′, MASTER_USER=’usuario_slave’, MASTER_PASSWORD=’contraseña‘, MASTER_LOG_FILE=’masterserver-bin.004′, MASTER_LOG_POS=206;

START SLAVE;

START SQL_IO_THREAD;

Y listo tenemos la replicacion funcionando perfectamente.


Posted in Principal | Tagged , , , | Leave a comment