En el ejemplo vamos a crear la vista asterisk.users de la tabla asteriskdb.users
|
1 2 3 |
create database asterisk; use asterisk; create view users AS SELECT * from asteriskdb.users; |
En el ejemplo vamos a crear la vista asterisk.users de la tabla asteriskdb.users
|
1 2 3 |
create database asterisk; use asterisk; create view users AS SELECT * from asteriskdb.users; |
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.
Seguir leyendo Como restaurar un asterisk cdr csv en la base de datos de mysql
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 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[root@web1 ~]# cat /proc/7688/limits Limit Soft Limit Hard Limit Units Max cpu time unlimited unlimited seconds Max file size unlimited unlimited bytes Max data size unlimited unlimited bytes Max stack size 8388608 unlimited bytes Max core file size 0 unlimited bytes Max resident set unlimited unlimited bytes Max processes 31209 31209 processes Max open files 1024 4096 files Max locked memory 65536 65536 bytes Max address space unlimited unlimited bytes Max file locks unlimited unlimited locks Max pending signals 31209 31209 signals Max msgqueue size 819200 819200 bytes Max nice priority 0 0 Max realtime priority 0 0 Max realtime timeout unlimited unlimited us |
Notice the numbers for “Max open files”.
If you run into problems with MariaDB failing and you see errors like this in the log:
|
1 |
systemctl daemon-reload |
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 & |
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.
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'; |
Si el proceso anterior de exportar los datos nos saca el error
ERROR 1045 (28000): Access denied for user
Podemos usar el siguiente comando
|
1 |
mysql -h servidor -u usuario -p asteriskcdrdb -e 'select * from cdr where calldate>"2019-01-01" and calldate<"2019-04-12 07:00:00"' > /tmp/cdr.sql |
Esto nos generara un archivo el cual podemos importar asi:
|
1 |
LOAD DATA LOCAL INFILE '/tmp/cdr.sql' INTO TABLE cdr FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n'; |
Listo.