Como restaurar un asterisk cdr csv en la base de datos de mysql
Si vemos que la base de datos de CDR de nuestro asterisk se daño o tenia problemas podremos utilizar estos comandos para poder restaurar nuestra información desde el archivo csv.
Si vemos que la base de datos de CDR de nuestro asterisk se daño o tenia problemas podremos utilizar estos comandos para poder restaurar nuestra información desde el archivo csv.
A veces hay muchos registros en la tabla CDR, para que la tabla no sea tan extensa se debería particionar por años, para hacer esto se puede ejecutar el siguiente comando:
1 |
ALTER TABLE cdr PARTITION BY RANGE COLUMNS (calldate) (PARTITION p01 VALUES LESS THAN ('2015-01-01'),PARTITION p02 VALUES LESS THAN ('2016-01-01'),PARTITION p03 VALUES LESS THAN ('2017-01-01'),PARTITION p04 VALUES LESS THAN ('2018-01-01'),PARTITION p05 VALUES LESS THAN ('2019-01-01'),PARTITION p06 VALUES LESS THAN ('2020-01-01'),PARTITION p07 VALUES LESS THAN ('2021-01-01'),PARTITION p08 VALUES LESS THAN (MAXVALUE)); |
Para crear registros por medio de un loop
1 2 3 4 5 6 7 8 9 10 11 12 13 |
DELIMITER $$ DROP PROCEDURE IF EXISTS insert_ell_rows $$ CREATE PROCEDURE insert_ell_rows () BEGIN DECLARE crs INT DEFAULT 0; WHILE crs < 11 DO SET crs = crs + 1; Insert into events (id,Valor) Values(crs,0); END WHILE; END $$ |
Para ejecutar la funcion
1 |
call insert_ell_rows; |
By default is seems the soft and hard open files limits on MariaDB in CentOS 7 are 1024 and 4096 respectfully. You can see these limits by first getting the process ID:
1 |
cat /var/run/mariadb/mariadb.pid |
And then looking at the limits in the proc filesystem:
1 |
cat /proc/XXXXX/limits |
You’ll
This article will show you some basic, yet useful tips on how to optimize and fine tune the performance of MySQL/MariaDB to speed of MySQL/MariaDB queries.
Detener el servidor
1 2 3 |
service mysqld stop o /etc/rc.d/init.d/mysqld stop |
Iniciar en modo FULL o abierto
1 |
mysqld_safe --skip-grant-tables --skip-networking & |
–skip-grant-tables esta opción causa que el servidor no use el sistema de privilegios lo que le da acceso ilimitado a todas las bases de datos a todos los usuarios de la base de datos.
Top 20+ MySQL Best Practices – Tuts+ Code Tutorial
Si queremos sacar una parte del CDR para pasarlo a otra maquina ejecutamos el siguiente comando el la consola de mysql:
1 |
select * from cdr where calldate>'2015-06-26' and calldate<'2015-06-26 10:10:50' INTO OUTFILE '/tmp/cdr.txt' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'; |
Para Importar los datos que sacamos del servidor anterior hacemos lo siguiente: Entramos a la nueva maquina por mysql
1 2 3 4 |
mysql -h 192.168.1.30 -u usuarioremoto -p use asteriskcdrdb; LOAD DATA LOCAL INFILE '/tmp/cdr.txt' INTO TABLE cdr FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'; |
Opcion 2 Si
Backup Sacar copia de una base de datos
1 |
mysqldump -p asteriskcdrdb > /tmp/asterisk.sql |
Copia de varias bases de datos
1 |
mysqldump -u root -pclave --databases asterisk asteriskcdrdb > /tmp/asterisk.sql |
Copia de todas las bases de datos
1 |
mysqldump -u root -pclave --all-databases > /tmp/todasDB.sql |
Solo la estructura
1 |
mysqldump -u root -pclave -–no-data asterisk > /tmp/asterisk.sql |
Solo backup de una tabla
1 |
mysqldump -u root -p wordpress wp_posts > /tmp/wordpress_posts.sql |
Restaurar Copiar el archivo al otro servidor
1 |
scp /tmp/asterisk.sql root@192.168.1.254:/tmp/ |
Restaurar BD
1 |
mysql -p asteriskcdrdb < /tmp/asterisk.sql |
Antes hacer backup y restore en el slave.