Planet MySQL Planet MySQL: Meta English Deutsch Français Italiano 日本語 Русский Português 中文
Showing entries 1 to 10 of 489 Próximo 10 Viejas entradas
Clausula CASE de MySQL
+0 Vote Up -0Vote Down

Al realizar queries podemos modificar lo que devolvemos usando la clausula CASE, vamos a ver un ejemplo:

Supongamos que tenemos una columna que nos devuelve 4 o 2:

mysql> show status like 'wsrep%';
(...)
| wsrep_local_state            | 4                                               |
| wsrep_local_state_comment    | Synced                                          |
(...)
mysql> show status like 'wsrep%';
(...)
| wsrep_local_state            | 2                                                           |
| wsrep_local_state_comment    | Donor/Desynced                                              |
(...)

Mediante CASE podemos transformar el 2 en un 1 y el 4 en un 0, mucho más fácil de tratar con, por ejemplo, checks de nagios. En este caso se trata de una query contra

  [Lea más...]
Actualización de MySQL 5.1 a 5.5 desde paquetes community
+0 Vote Up -0Vote Down

En el caso que necesitemos hacer una actualización desde los paquetes community de MySQL nos encontraremos que no podemos simplemente actualizarlos. Vamos a ver los pasos:

Primero deberemos parar el MySQL limpiamente (evidentemente, necesitaremos backups por si algo sale mal):

/etc/init.d/mysql stop

Si intentamos hacer la actualización directamente veremos que no nos deja:

# ls
MySQL-client-5.5.37-1.rhel5.x86_64.rpm  MySQL-server-5.5.37-1.rhel5.x86_64.rpm  MySQL-shared-5.5.37-1.rhel5.x86_64.rpm
# rpm -Uvh MySQL-*
Preparing...                ########################################### [100%]
Repackaging...              
   1:MySQL-client-community #   1:MySQL-server-community ########################################### [ 33%]
   2:MySQL-shared-community
  [Lea más...]
mysqldump: Guardar la posición del master
+0 Vote Up -0Vote Down

Al realizar un backup con mysqldump nos puede interesar conservar la posición de los binlogs para poder hacer recuperaciones en un punto en el tiempo en lugar del último backup

Para que el mysqldump guarde la posición deberemos usar la opción –master-data:

Si usamos –master-data=1 se guardará la posición mediante el comando CHANGE MASTER, esto es más adecuado si queremos importar los datos en un slave, pero en el master producirá un error:

(...)
--
-- Position to start replication or point-in-time recovery from
--

CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=107;
(...)

Si usamos –master-data=2

  [Lea más...]
MySQL Point in Time Recovery mediante binlogs y mysqldump
+0 Vote Up -0Vote Down

Vamos a ver cómo realizar una recuperación de datos de una base de datos MySQL en un determinado punto en el tiempo mediante backups con mysqldump y los binlogs activados

Primero vamos a preparar una base de datos de ejemplo:

mysql> create database jordidb;
Query OK, 1 row affected (0.00 sec)

mysql> use jordidb
Database changed
mysql> create table tbl(id int);
Query OK, 0 rows affected (0.03 sec)

mysql> insert into tbl values (1),(2),(3);
Query OK, 3 rows affected (0.01 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> select * from tbl;
+------+
| id   |
+------+
|    1 |
|    2 |
|    3 |
+------+
3 rows in set (0.00 sec)

A continuación generamos un mysqldump con los datos de posición de los binlogs (

  [Lea más...]
Cambios en variables globales de configuración entre MySQL 5.6.20 y MySQL 5.7.4 “Milestone 14″
+1 Vote Up -0Vote Down

Mientras realizaba unos tests (que tengo pendiente de enseñaros) en el -todavía en desarrollo- MySQL 5.7 quise hacer un análisis de la configuración para ver si los cambios en el rendimiento eran debidos a los cambios en el código o simplemente a los parámetros por defecto de MySQL (algo que es muy común en una migración de 5.5 a 5.6 debido al tamaño por defecto del log de transacciones y otros parámetros por defecto). Éste es un post rápido con el objetivo de identificar las variables globales que se han modificado entre estas dos versiones.

Me podrían decir que con leer

  [Lea más...]
Forzar sincronización (SST) en Galera
+0 Vote Up -0Vote Down

Si queremos forzar la sincronización de un determinado nodo con el resto, deberemos borrar el fichero grastate.dat

Primero deberemos apagar el nodo:

# /etc/init.d/mysql stop
Shutting down MySQL (Percona XtraDB Cluster).... SUCCESS! 

Luego borramos el fichero del datadir:

# rm -f /var/lib/mysql/grastate.dat 

Al volver a arrancar empezará la resincronización:

# /etc/init.d/mysql start
Starting MySQL (Percona XtraDB Cluster)....State transfer in progress, setting sleep higher
.. SUCCESS! 

En el nodo “donante“, si utilizamos xtrabackup para la sincronización, podemos encontrar el fichero innobackup.backup.log en el datadir con el log:

# cat innobackup.backup.log

InnoDB Backup
  [Lea más...]
Malas costumbres en el my.cnf
+1 Vote Up -0Vote Down

Realizando una actualización de MySQL me encontré con una mala costumbre bastante común.

Al ejecutar el mysql_upgrade fallaba:

# mysql_upgrade 
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
FATAL ERROR: Upgrade failed

Por lo que me decidí a ejecutar los comandos manualmente:

mysqlcheck --all-databases --check-upgrade --auto-repair  
mysql 

Ejecutando el primero (mysqlcheck) me encontré con el problema real:

# mysqlcheck --all-databases --check-upgrade --auto-repair
mysqlcheck: Got error: 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) when trying to connect

En el my.cnf estaban añadidas las opciones (cómo dónde deja el socket el

  [Lea más...]
¿Qué herramienta de compresión debería usar para las copias de seguridad de mi base de datos? (Parte II: descompresión)
+1 Vote Up -0Vote Down

En mi entrada de la semana pasada, analizaba algunos de las herramientas y formatos de compresión más comunes, así como su velocidad y ratio de compresión. Aunque ello podría darnos una buena idea del rendimiento de estas herramientas, el análisis estaría incompleto sin investigar la descompresión. Esto es particularmente cierto para backups de base de datos ya que, en aquellos casos en los que el proceso de compresión se realice fuera de las máquinas de producción puede que no te importe tanto los tiempos de compresión. En tal caso, incluso si es relativamente lento, no afectará al rendimiento de tu servidor MySQL (o aquello que estés usando). El

  [Lea más...]
Recopilación de entradas sobre MySQL
+0 Vote Up -0Vote Down

Hoy toca la última entrada veraniega, centrada en MySQL, uno de los pilares de este blog. La primera de las entradas del blog fue para hablar de un framework para los DBA de MySQL, que yo uso bastante y debería ser usado por los administradores y desarrolladores. Migrando de versión de MySQL Una de las …

Continuar leyendo »

Esta entrada Recopilación de entradas sobre MySQL es contenido original de Manejando datos - Blog de bases de datos y programación. This entrance Recopilación de entradas sobre MySQL is created by Manejando datos - Blog de bases de datos y programación

Showing entries 1 to 10 of 489 Próximo 10 Viejas entradas

Planet MySQL © 1995, 2014, Oracle Corporation and/or its affiliates   Legal Policies | Your Privacy Rights | Terms of Use

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.