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/03/17 11:39] – [145 - Table was marked as crashed and should be repaired] javi | informatica:linux:mysql:instalacion [2017/10/20 09:52] (current) – [Errores] javi | ||
|---|---|---|---|
| Line 24: | Line 24: | ||
| Poniendola en texto plano: | Poniendola en texto plano: | ||
| #mysql -u < | #mysql -u < | ||
| - | A otra máquina: | + | A otra máquina. Tiene que tener habilitado permitir conexiones de fuera. Para ello hay que modificar el fichero: |
| + | / | ||
| + | Y comentar la línea: | ||
| + | # bind-address | ||
| + | Luego ya nos podemos conectar con el comando: | ||
| #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 79: | Line 95: | ||
| 1. Obtener motor de las tablas de las(s) bases de datos: | 1. Obtener motor de las tablas de las(s) bases de datos: | ||
| - | mysql -e " | + | |
| 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 " | ||
| - | mysql -e " | ||
| En mi caso: | En mi caso: | ||
| Line 107: | Line 124: | ||
| | ?? | 0m11.443s | 17m41.754s | | | ?? | 0m11.443s | 17m41.754s | | ||
| | 33692.87 | 17m26.434s | ?? | | | 33692.87 | 17m26.434s | ?? | | ||
| + | | 16622.94 | 8' | ||
| < | < | ||
| Line 129: | 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 | ||
| + | < | ||
| + | --routines | ||
| + | </ | ||
| ==== Usuario dedicado con permisos minimos para mysqlump ==== | ==== Usuario dedicado con permisos minimos para mysqlump ==== | ||
| Line 462: | 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 834: | Line 856: | ||
| +--------------------------+----------------------------+ | +--------------------------+----------------------------+ | ||
| </ | </ | ||
| + | |||
| + | ===== Logging consultas ===== | ||
| + | |||
| + | * Habilitar | ||
| + | < | ||
| + | mysql -u root -p -e "set global general_log_file="/ | ||
| + | mysql -u root -p -e "set global general_log = ' | ||
| + | </ | ||
| + | * Deshabilitar | ||
| + | < | ||
| + | mysql -u root -p -e "set global general_log = ' | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ===== Consultas utiles ===== | ||
| + | |||
| + | * Listar el tamanyo de las tablas de una base de datos, las pesadas primero (ajustar variable " | ||
| + | < | ||
| + | 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 | | ||
| + | +---------------------+ | ||
| + | </ | ||
| + | |||
| ===== Errores ===== | ===== Errores ===== | ||
| Line 1003: | Line 1161: | ||
| http:// | http:// | ||
| + | |||
| + | ==== ERROR 1194 (HY000): Table ' | ||
| + | |||
| + | < | ||
| + | mysql> select * from wallet; | ||
| + | ERROR 1194 (HY000): Table ' | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | mysql> check table wallet; | ||
| + | +------------------+-------+----------+-----------------------------------------------------+ | ||
| + | | Table | Op | Msg_type | Msg_text | ||
| + | +------------------+-------+----------+-----------------------------------------------------+ | ||
| + | | passwords.wallet | check | error | Size of datafile is: 14648 | ||
| + | | passwords.wallet | check | error | Corrupt | ||
| + | +------------------+-------+----------+-----------------------------------------------------+ | ||
| + | 2 rows in set (0.01 sec) | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | mysql> repair table wallet; | ||
| + | +------------------+--------+----------+--------------------------------------+ | ||
| + | | Table | Op | Msg_type | Msg_text | ||
| + | +------------------+--------+----------+--------------------------------------+ | ||
| + | | passwords.wallet | repair | warning | ||
| + | | passwords.wallet | repair | status | ||
| + | +------------------+--------+----------+--------------------------------------+ | ||
| + | 2 rows in set (0.22 sec) | ||
| + | </ | ||
informatica/linux/mysql/instalacion.1395056355.txt.gz · Last modified: (external edit)
