A PARTICIÓN MySQL y subpartición Ejemplo

Original post: http://anothermysqldba.blogspot.com/2014/12/a-mysql-partition-and-subpartition.html

Así que esto es sólo un ejemplo sencillo de cómo configurar una partición y un subpartición en MySQL. El concepto aquí es que usted tiene datos en una tabla con numerosos valores en un campo de fecha y hora. Es posible que tenga datos que se propagan a través de numerosos años (probablemente lo hace). Así que una forma de partición de estos datos es de tipo que por años, pero luego también ordenarla por mes dentro de esa partición anual. 

A continuación se muestra un ejemplo que puede utilizar para su consideración. 

Tenga en cuenta la tabla de prueba. Su mesa con tener muchos más campos de golf. 

CREATE TABLE `t1` …

[Lea más]
CREATE TABLE en MySQL 5.6

En versiones anteriores a MySQL 5.6 podíamos crear tablas sin especificar el storage engine:

mysql> create table lol(id int);
Query OK, 0 rows affected (0.11 sec)

A partir de MySQL 5.6, por defecto, se quejará de error de sintaxis:

mysql> create table lol(int id);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'int id)' at line 1

Si miramos el sql_mode que tenemos por defecto en MySQL 5.6 veremos que tenemos:

mysql> show variables like 'sql_mode';
+---------------+--------------------------------------------+
| Variable_name | Value                                      |
+---------------+--------------------------------------------+
| sql_mode      | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | …
[Lea más]
Formato de la contraseña de MySQL

En las versiones recientes de MySQL (+4.1) el formato por defecto se trata de un hash formado por 40 carácteres:

mysql> select password("systemadmin.es");
+-------------------------------------------+
| password("systemadmin.es")                |
+-------------------------------------------+
| *3E04A027486FB53129AC5812D2CF8E4062899311 |
+-------------------------------------------+
1 row in set (0.00 sec)

Dicho hash corresponde al resultado de aplicar el SHA1 a la cadena que le pasamos dos veces, pero la segunda no sobre la cadena hexadecimal sino el hash binario, lo podemos ver en el código de MySQL:

/*
    MySQL 4.1.1 password hashing: SHA conversion (see RFC 2289, 3174) twice
    applied to the password string, and then produced octet sequence is
    converted to hex string.
    The result of this function is used as return value from PASSWORD() and
    is stored in the …
[Lea más]
Recuperar los datos de MySQL se pierden con mysqlbinlog ejemplo de punto en el tiempo de recuperación

Original post: http://anothermysqldba.blogspot.com/2014/11/recover-lost-mysql-data-with.html

Copia de seguridad de copia de seguridad ... ... Copia de seguridad ... pero claro .. también hay que controlar y probar esas copias de seguridad a menudo de lo contrario podrían ser inútil. Tener sus MySQL binlogs habilitado sin duda puede ayudar en momentos de una emergencia también. Los binlogs MySQL a menudo se hace referencia en lo que respecta a la replicación de MySQL, por una buena razón, almacenan todas las consultas o eventos que alteren los datos …

[Lea más]
Instalación Linux, nginx, MySQL, PHP (LEMP) en CentOS 7

Detras de las siglas LEMP de esconde el típico LAMP cambiando el Apache por un nginx (la E es por la forma que se pronuncia. Vamos a ver cómo instalar una LEMP en CentOS 7:

Primero deberemos instalar los repositorios:

  • Podemos instalar el repositorio oficial de nginx mediante:
    rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
    
  • Para MySQL 5.6 también podemos tirar del repositorio oficial para substituir la MariaDB que nos viene por defecto:
    rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
    
  • Para otras utilidades que necesitaremos también podemos …
[Lea más]
Cliente MySQL 5.6: Ignorar comandos SQL

A partir de la versión 5.6.8 del cliente de MySQL podremos ver que tenemos algunas queries que son ignoradas del history.

Una forma común de obtener contraseñas de un MySQL era mirar en los ficheros .mysql_history en búsqueda de dichas contraseñas, por esto se ha añadido la opción –histignore para poder controlar que comandos acaban en el history del cliente de MySQL.

Por defecto, incluye las keywords IDENTIFIED y PASSWORD de la siguiente manera:

*IDENTIFIED*:*PASSWORD*

Por lo que cualquier comando, incluse una SELECT o un CREATE TABLE que incluya un campo llamado “password”, no se añadirá el history:

mysql> use mysql
Database changed
mysql> select user,password from mysql.user;
+------+-------------------------------------------+
| user | password                                  | …
[Lea más]
systemctl y MySQL

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  …

[Lea más]
xtrabackup / innobackupex: Backup y restore con Galera

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]
xtrabackup / innobackupex: Backup y restore parcial

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]
Mi Charla en la PyConES 2014 de Zaragoza sobre MySQL Fabric

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]