Displaying posts with tag: DBA (reset)
Instalación de Common_schema en MySQL – MariaDB

Septiembre de 2013 ha sido el mes #MySQL en www.manejandodatos.es, y hemos hablado de cómo instalar, desinstalar, backups, personalización de configuración, ficheros de registros, corrección del error 1067, … Aunque al principio del blog se habló de frameworks para DBA de MySQL (también para #MariaDB) hoy es hora de instalar common_schema. Instalando Commom schema Common …

Continuar leyendo »

The post Instalación de Common_schema en MySQL – MariaDB appeared first on Manejando datos.

Caracteres especiales en nombres de tablas MySQL

En la NCN2013 dijeron que en el CTF uno de los retos era complicado porque el nombre de tabla empezaba por espacio, por lo que me he mirado los rangos permitidos en MySQL.

Según la documentación sobre los nombres de tablas, los caracteres permitidos sin comillas son:

Permitted characters in unquoted identifiers:

 - ASCII: [0-9,a-z,A-Z$_] (basic Latin letters, digits 0-9, dollar, underscore)
 - Extended: U+0080 .. U+FFFF 

Lo cual de por sí ya nos da muchas opciones, por ejemplo:

mysql> create table català(id int);
Query OK, 0 rows affected (0.41 sec)

Pero si usamos comillas, tenemos muchas más posibilidades:

Permitted characters in quoted identifiers include the full …
[Lea más]
MySQL: La opción skip-name-resolve

Una de las opciones que suelo usar en un MySQL por defecto es:

skip-name-resolve

En la guia de instalación de MySQL 5.5 ya la habilita al instalar el MySQL.

Dicha opción deshabilita la resolución de nombres, por lo que veremos al iniciar MySQL Warnings como los siguientes:

101202 15:43:44 [Warning] 'user' entry '@penny.systemadmin.es' ignored in --skip-name-resolve mode.

Nos esta indicando que no podrá aplicar los GRANTs relacionados con nombres al no poder resolver las IPs de los clientes: deberemos usar la IP en lugar del nombre en los GRANTs.

En caso que no apliquemos dicha opción para usar nombres en lugar de IPs, si el resolver falla nos encontraremos que el MySQL …

[Lea más]
Buscando campos entre todas las bases de datos de MySQL-MariaDB

Justo esta mañana he tenido un problema con #MySQL y obtenía un error un tanto “extraño”, no por que saliera un error, sino porque el campo que daba el error no me resultaba conocido. En concreto, he creado un procedimiento para realizar tablas de referencas cruzadas, y al ejecutar me saltaba un error: El caso …

Continuar leyendo »

The post Buscando campos entre todas las bases de datos de MySQL-MariaDB appeared first on Manejando datos.

Comprobar si el MySQL sigue levantado con mysqladmin

El comando mysqladmin dispone de varias opciones, una de ellas (ping) permite comprobar si el MySQL esta levantado.

$ mysqldadmin
(...)
Where command is a one or more of: (Commands may be shortened)
  create databasename   Create a new database
  debug                 Instruct server to write debug information to log
  drop databasename     Delete a database and all its tables
  extended-status       Gives an extended status message from the server
  flush-hosts           Flush all cached hosts
  flush-logs            Flush all logs
  flush-status          Clear status variables
  flush-tables          Flush all tables
  flush-threads         Flush the thread cache
  flush-privileges      Reload grant tables (same as reload)
  kill id,id,...        Kill mysql threads
  password new-password Change old password to new-password, MySQL 4.1 hashing.
  old-password new-password Change old password to new-password in old …
[Lea más]
Cagadas memorables: El caso de la SELECT en un ndb

Al reiniciar un MySQL Cluster (ndb) para hacer un downgrade de kernel y ver todos los nodos operativos:

# /opt/mysql-cluster/bin/ndb_mgm -e show
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)]     3 node(s)
id=11   @10.10.6.1  (mysql-5.5.29 ndb-7.2.10, Nodegroup: 0, Master)
id=12   @10.10.6.2  (mysql-5.5.29 ndb-7.2.10, Nodegroup: 0)
id=13   @10.10.6.3  (mysql-5.5.29 ndb-7.2.10, Nodegroup: 0)

[ndb_mgmd(MGM)] 2 node(s)
id=1    @10.10.6.5  (mysql-5.5.29 ndb-7.2.10)
id=4    @10.10.6.4  (mysql-5.5.29 ndb-7.2.10)

[mysqld(API)]   1 node(s)
id=54   @10.10.6.4  (mysql-5.5.29 ndb-7.2.10)

Pasé a comprobar la disponibilidad de los datos en el nodo SQL (el mysqld) con un count() en una tabla grande:

mysql> select count(*) tabla_gordota; …
[Lea más]
Forzando índices en MySQL – MariaDB

Dentro de un proyecto de investigación en la Universidad de Córdoba, trabajamos con una base de datos en MySQL que tiene unos cuantos registros, en torno a 9 Gb, de los que el 95% se concentran en una sola tabla “datos“.

Forzando índices

En esta tabla se guardan datos con una frecuencia de 5 minutos, pero necesitamos calcular los datos agregados horarios. Para año y medio de datos, tenemos unos cuantos millones de datos, concreamente 57 millones .

Datos

Nos metemos en faena, pero comprobamos los índices disponibles:

[Lea más]
Índices en MySQL

Los índices, quizás, sean uno de los aspectos más desconcertantes de las bases de datos para los más inexpertos, pero a su vez, son muy importantes.

Quizás, para los que solo trabajais con Microsoft Access no sea un factor clave, ya que realmente es una de las debilidades, pero para MySQL y MariaDB los índices son muy importantes. En mi proyecto S·lar con la Universidad de Córdoba empecé con Access pensando que sería suficiente, pero la realidad es que acabé necesitando MySQL y toda su potencia. Cuando las tablas empezaron a rozar el Giga de tamaño, empecé a tener serios problemas de rendimiento, hasta que aprendí a usar los índices.

Consultas …

[Lea más]
Comprobando la velocidad de tus consultas con MySQL Profiler

Esta entrada es corta, pero a su vez, puede resultar de mucho interés para los administradores de bases de datos, DBA. Y es que, cuando llevas tiempo trabajando con un servidor de bases de datos, con una base de datos más o menos grande, surge una nueva proucupación: el rendimiento de las consultas en tus bases de datos.

Gracias a esta entrada en este blog, he conocido cómo conocer el rendimiento de las consultas. Concretamente, se trata de activar MySQL Profiler, una herramienta que va guardando las consultas y los tiempos de ejecución de las mismas.

La activación y desactivación es bastante fácil, escribiendo el siguiente comando en una consola:

SET profiling = 1;

Para desactivarlo, solo cambiar el 1 por el 0.

Para mostrar las consultas que han sido …

[Lea más]
Probando MySQL 5.7.2: error 1053 al instalar

Septiembre está siendo el mes de #MySQL en www.manejandodatos.es, y el pasado fin de semana conocí de la existencia de la mejor versión existente y creada de todos los tiempos de MySQL, que no es otra que MySQL 5.7.2. (remarco en negrita, porque … vaya chasco me llevé!). Así que, vamos a proceder a descargarla desde aquí: dev.mysql.com/downloads/mysql/5.7.html.

Yo me he descargado el instalador completo (el que no es web), y que suponen unos 193 Mb.

Esto no lo suelo hacer nunca, pero he accedido a ver los cambios que se han introducido en el instalador, y algunos son bastante interesantes. Los teneis aquí.

Sin realizar nada, procedo a …

[Lea más]