informatica:linux:mysql:instalacion
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| informatica:linux:mysql:instalacion [2014/08/08 14:29] – jose | informatica:linux:mysql:instalacion [2017/10/20 09:52] (current) – [Errores] javi | ||
|---|---|---|---|
| Line 31: | Line 31: | ||
| #mysql -u < | #mysql -u < | ||
| + | ===== Mostrar BBDD ===== | ||
| + | mysql> show databases; | ||
| + | < | ||
| + | +--------------------+ | ||
| + | | Database | ||
| + | +--------------------+ | ||
| + | | information_schema | | ||
| + | | mysql | | ||
| + | | performance_schema | | ||
| + | | phpmyadmin | ||
| + | | pingpong | ||
| + | +--------------------+ | ||
| + | 5 rows in set (0.00 sec) | ||
| + | </ | ||
| Line 86: | Line 99: | ||
| 2. Tener una idea de tamanyo y tiempos: | 2. Tener una idea de tamanyo y tiempos: | ||
| - | Metricas sobre tiempo. Para el siguiente tamanyo: | + | Metricas sobre tiempo. Para el siguiente tamanyo |
| + | |||
| + | time mysql -e " | ||
| - | DB=" | ||
| En mi caso: | En mi caso: | ||
| Line 110: | Line 124: | ||
| | ?? | 0m11.443s | 17m41.754s | | | ?? | 0m11.443s | 17m41.754s | | ||
| | 33692.87 | 17m26.434s | ?? | | | 33692.87 | 17m26.434s | ?? | | ||
| + | | 16622.94 | 8' | ||
| < | < | ||
| Line 132: | Line 147: | ||
| * MyISAM | * MyISAM | ||
| - | time mysqldump --opt --add-drop-database --databases database_one database_two | + | time mysqldump |
| * InnoDB | * InnoDB | ||
| - | time mysqldump --single-transaction --add-drop-database --databases database_one database_two | + | time mysqldump |
| * Incluir triggers y functions | * Incluir triggers y functions | ||
| Line 469: | Line 484: | ||
| 3. (db_master) Abrir otra consola y volcar las bases de datos que queramos replicar. En mi caso todas: | 3. (db_master) Abrir otra consola y volcar las bases de datos que queramos replicar. En mi caso todas: | ||
| - | time mysqldump --opt --all-databases --add-drop-database > / | + | time mysqldump |
| El proceso tarda menos de 5 minutos para generar un volcado de 863M. | El proceso tarda menos de 5 minutos para generar un volcado de 863M. | ||
| Line 861: | Line 876: | ||
| < | < | ||
| DB=zabbix; mysql -u root -p -e " | DB=zabbix; mysql -u root -p -e " | ||
| + | </ | ||
| + | |||
| + | ===== Procedures ===== | ||
| + | |||
| + | * Crear | ||
| + | < | ||
| + | DELIMITER $$ | ||
| + | CREATE PROCEDURE `partition_create`(SCHEMANAME VARCHAR(64), | ||
| + | BEGIN | ||
| + | /* | ||
| + | | ||
| + | | ||
| + | | ||
| + | */ | ||
| + | /* | ||
| + | | ||
| + | */ | ||
| + | |||
| + | DECLARE RETROWS INT; | ||
| + | SELECT COUNT(1) INTO RETROWS | ||
| + | FROM information_schema.partitions | ||
| + | WHERE table_schema = SCHEMANAME AND TABLE_NAME = TABLENAME AND partition_description >= CLOCK; | ||
| + | |||
| + | IF RETROWS = 0 THEN | ||
| + | /* | ||
| + | 1. Print a message indicating that a partition was created. | ||
| + | 2. Create the SQL to create the partition. | ||
| + | 3. Execute the SQL from #2. | ||
| + | */ | ||
| + | SELECT CONCAT( " | ||
| + | SET @SQL = CONCAT( 'ALTER TABLE ', SCHEMANAME, ' | ||
| + | PREPARE STMT FROM @SQL; | ||
| + | EXECUTE STMT; | ||
| + | DEALLOCATE PREPARE STMT; | ||
| + | END IF; | ||
| + | END$$ | ||
| + | DELIMITER ; | ||
| + | </ | ||
| + | |||
| + | * Listar | ||
| + | < | ||
| + | SHOW PROCEDURE STATUS; | ||
| + | SHOW FUNCTION STATUS; | ||
| + | </ | ||
| + | |||
| + | ===== Partitions ===== | ||
| + | |||
| + | * Listar | ||
| + | < | ||
| + | SHOW CREATE TABLE zabbix2014.history\G | ||
| + | *************************** 1. row *************************** | ||
| + | | ||
| + | Create Table: CREATE TABLE `history` ( | ||
| + | `itemid` bigint(20) unsigned NOT NULL, | ||
| + | `clock` int(11) NOT NULL DEFAULT ' | ||
| + | `value` double(16, | ||
| + | `ns` int(11) NOT NULL DEFAULT ' | ||
| + | KEY `history_1` (`itemid`, | ||
| + | ) ENGINE=InnoDB DEFAULT CHARSET=utf8 | ||
| + | /*!50100 PARTITION BY RANGE (`clock`) | ||
| + | (PARTITION p201503130000 VALUES LESS THAN (1426287600) ENGINE = InnoDB, | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | 1 row in set (0.01 sec) | ||
| + | </ | ||
| + | ===== Strict Mode ===== | ||
| + | |||
| + | He conocido de su existencia a través de django: | ||
| + | |||
| + | https:// | ||
| + | |||
| + | Django recomienda habilitar el modo estricto, con la configuración " | ||
| + | |||
| + | 1. Editar archivo de configuración: | ||
| + | |||
| + | < | ||
| + | sudo cp / | ||
| + | sudo vim / | ||
| + | </ | ||
| + | |||
| + | 2. Y añadir en la sección " | ||
| + | |||
| + | < | ||
| + | ... | ||
| + | [mysqld] | ||
| + | sql-mode = " | ||
| + | </ | ||
| + | |||
| + | 3. Reiniciar el servicio | ||
| + | |||
| + | sudo service mysql restart | ||
| + | | ||
| + | 4. Verificarlo | ||
| + | |||
| + | 4.1. Iniciar sesión como usuario " | ||
| + | |||
| + | sudo mysql -u root | ||
| + | | ||
| + | 4.2. Ver el valor de la variable " | ||
| + | |||
| + | SELECT @@SESSION.sql_mode; | ||
| + | |||
| + | Valor esperado: | ||
| + | |||
| + | < | ||
| + | +---------------------+ | ||
| + | | @@SESSION.sql_mode | ||
| + | +---------------------+ | ||
| + | | STRICT_TRANS_TABLES | | ||
| + | +---------------------+ | ||
| </ | </ | ||
informatica/linux/mysql/instalacion.1407508165.txt.gz · Last modified: (external edit)
