Actualización de MySQL 5.1 a 5.5 desde paquetes community

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 ########################################### [ 67%]
Upgrading...                
   1:MySQL-client …
[Lea más]
Comment on Installing MySQL 5.7.2: error 1053 by Compilation of entrances on MySQL - Manejando datos

[…] also wrote about the problems when having error 1053 that I suffer a lot trying to find a solution, and … at the end, the solution was […]

Comment on MySQL 5.6 Config file. Step 5 by Compilation of entrances on MySQL - Manejando datos

[…] Personalizando el fichero de inicio […]

mysqldump: Guardar la posición del master

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 el CHANGE MASTER estará comentado, por lo que nos podrá valer tanto …

[Lea más]
MySQL Point in Time Recovery mediante binlogs y mysqldump

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 (opción …

[Lea más]
Cambios en variables globales de configuración entre MySQL 5.6.20 y MySQL 5.7.4 “Milestone 14”

Mientras realizaba unos tests (que os enseñé posteriormente aquí) 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

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 Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy
and Percona LLC and/or its …
[Lea más]
Malas costumbres en el my.cnf

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 < fix_priv_tables  
mysqlcheck --all-databases --check-upgrade --fix-db-names --fix-table-names

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 …

[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)

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 tiempo de descompresión, sin embargo, puede ser crítico, ya que podría influir en muchos casos en el …

[Lea más]
Compilation of entrances on MySQL

This is the last entrance of August, and it’s related to MySQL, one of the hottest topics of this blog. Several entrances of this entrance are in spanish, because I started writing both languages about October, and some of the materials were published before. Most of them have been translated and published after, but other …

Continue reading »

Esta entrada Compilation of entrances on MySQL es contenido original de Manejando datos - Blog de bases de datos y programación. This entrance Compilation of entrances on MySQL is created by …

[Lea más]