Original post: http://anothermysqldba.blogspot.com/2014/11/systemctl-and-mysql.html
Así que algunos usuarios puedan terminar un yum install de MySQL
y esperar a ser capaz de utilizar el siguiente comando para
iniciar el servidor MySQL :: /etc/init.d/mysql comienzan sólo
para obtener "No existe el fichero o directorio"
Así que este es un post rápido para ayudar a utilizar el comando
systemctl. Es probable que ver esto: # systemctl
list-unit-files | grep mysql
mysqld.service disabled
En primer lugar yo recomendaría ir a …
Para realizar backups en Galera, podemos usar xtrabackup.
La única diferéncia es que deberemos conservar la posición del backup, mediante la opción –galera-info se guarda automáticamente:
# innobackupex --galera-info /var/backups/xtrabackup InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy and Percona LLC and/or its affiliates 2009-2013. All Rights Reserved. (...) 140826 16:57:33 innobackupex: Connection to database server closed 140826 16:57:33 innobackupex: completed OK!
Dentro del backup podemos encontrar el fichero xtrabackup_binlog_info:
# ls /var/backups/xtrabackup/2014-08-26_16-57-30/ backup-my.cnf ibdata1 mysql/ test/ xtrabackup_checkpoints xtrabackup_info binlog.000008 jordidb/ performance_schema/ xtrabackup_binlog_info …[Lea más]
Mediante xtrabackup también podemos realizar tanto backups como restauraciones parciales. Vamos a ver cómo hacer un backup de una base de datos en concreto y a continuación cómo realizar una restauración parcial de una tabla.
Para realizar un backup parcial de una base de datos únicamente deberemos añadir la opción –databases para indicarla, por ejemplo:
# innobackupex --databases="db2" /var/backups/xtrabackup/ InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy and Percona LLC and/or its affiliates 2009-2013. All Rights Reserved. This software is published under the GNU GENERAL PUBLIC LICENSE Version 2, June 1991. (...) innobackupex: Backup created in directory '/var/backups/xtrabackup/2014-08-26_19-51-43' innobackupex: MySQL binlog position: filename 'binlog.000017', position 1496, gtid_executed …[Lea más]
El
próximo sábado 8 de noviembre a las 19:30 estaré hablando sobre
MySQL Fabric en la PyConES 2014
(la versión española de la PyCon), la reunión anual de programadores y
entusiastas de Python en España.
Aunque no me auto-denomino como programador, una gran parte de mi
tiempo cono consultor de MySQL require implementar procedimientos
automáticos (backups, comprobaciones de salud, gestión de AWS, …)
y para ello utilizo principalmente una combinación de Python y
Bash.
En mi charla, que he titulado “MySQL Fabric, a High Availability solution for Connector/Python” explicaré cómo montar y configurar un conjunto de servidores MySQL y …
[Lea más]Mediante la extensión mysqlnd_ms podemos automáticamente balancear las queries según sean de lectura o escritura entre el MySQL master y sus diferentes MySQL slaves. Vamos a ver cómo instalarla
En caso que no lo tengamos ya habilitado, deberemos recompilar PHP con mysqlnd habilitado para los diferentes métodos de acceso al MySQL. En el ejemplo lo usamos tanto para el clásico mysql (funciones llamadas mysql_), mysqli y para el PDO:
./configure' \ (...) --enable-mysqlnd \ --with-mysql=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-mysqli=mysqlnd \ (...)
A continuación deberemos instalar el modulo mysqlnd_ms para poder usar dicho balanceador mediante pecl:
# pecl install mysqlnd_ms
El el fichero de configuración del …
[Lea más]El lunes de la próxima semana, 3 de noviembre, impartiré un tutorial de la mayor conferencia europea de MySQL, la Percona Live London 2014. El tema es una continuación natural de la que impartí el año pasado en el mismo lugar, “Optimización de consultas con MySQL 5.6: trucos nuevos y viejos“. Este año me centraré en los últimos cambios en el optimizador que podemos encontrar no sólo en los ya publicados 5.6 y MariaDB 10, pero también alguna de las características de los todavía en desarrollo MySQL 5.7 y MariaDB 10.1. Algunos de los temas de este taller, que he titulado “Optimización de consultas con MySQL …
[Lea más]Al realizar el SHOW MASTER STATUS para iniciar la replicación siempre me había preguntado porque la posición inicial no era ni 0 ni 1. Mediante SHOW BINLOG EVENTS podemos verlo:
El primer evento de un binlog contiene información sobre el formato del binlog, por lo tanto, es un evento que realmente no hace nada y que nos podemos saltar (realmente si lo aplicamos tampoco realiza ningún cambio):
mysql-master> show binlog events limit 2; +------------------+-----+-------------+-----------+-------------+---------------------------------------+ | Log_name | Pos | Event_type | Server_id | End_log_pos | Info | +------------------+-----+-------------+-----------+-------------+---------------------------------------+ | mysql-bin.000355 | 4 | Format_desc | 1 | 106 | Server ver: 5.1.67-log, Binlog ver: 4 | | …[Lea más]
En MySQL, mediante INFORMATION_SCHEMA podemos listar las tablas que tienen foreign keys hacia la tabla que nos interesa
Para ello deberemos hacer la siguiente query a la tabla KEY_COLUMN_USAGE:
SELECT table_name,column_name,constraint_name, referenced_table_name,referenced_column_name FROM information_schema.key_column_usage WHERE referenced_table_name = 'tabla';
Por ejemplo, suponiendo que tenemos las siguientes dos tablas:
mysql> CREATE TABLE fc1 ( -> i INT PRIMARY KEY, -> j INT -> ) ENGINE = InnoDB; Query OK, 0 rows affected (0.25 sec) mysql> CREATE TABLE fc2 ( -> m INT PRIMARY KEY, -> n INT, -> FOREIGN KEY ni (n) REFERENCES fc1 (i) -> ON DELETE CASCADE -> ) ENGINE = InnoDB; Query OK, 0 rows affected (0.15 sec)
Mediante dicha query podremos listar …
[Lea más]Tal y como vimos anteriormente, mediante xtrabackup podemos hacer backups incrementales sobre un full. Vamos a ver cómo restaurarlos.
Vamos a suponer que tenemos los siguientes backups:
# ls -la total 36 drwxr-xr-x 9 root root 4096 Aug 26 19:06 . drwxr-xr-x 3 root root 4096 Aug 26 14:04 .. drwxr-xr-x 6 root root 4096 Aug 26 19:02 2014-08-26_19-02-14 drwxr-xr-x 6 root root 4096 Aug 26 19:03 2014-08-26_19-03-30 drwxr-xr-x 6 root root 4096 Aug 26 19:06 2014-08-26_19-06-41
Los renombro por tipo para simplificar la sintaxi:
# mv 2014-08-26_19-02-14 FULL # mv 2014-08-26_19-03-30 INC1 # mv 2014-08-26_19-06-41 INC2
Primero deberemos preparar el backup aplicando las transacciones ya comiteadas (–apply-log –redo-only) tanto para el full como con los …
[Lea más]
Original post: http://anothermysqldba.blogspot.com/2014/10/rotating-mysql-slow-logs.html
Al trabajar con diferentes clientes Sucede que correr a través de
grandes archivos de registro lento de vez en cuando. Si bien
existen varias opiniones sobre la forma en que se deben
rotar. Muchas de estas opiniones utilice Girar registro y el
comando registros ras, prefiero no para eliminar mis registros
binarios sin embargo. Es por esto que estoy de acuerdo con
Ronald Bradfordentrada de blog desde hace años sobre la
forma de hacer esto. …