En esta ocasión veremos un pequeño ejemplo, donde por medio del comando GRANT crearemos dos cuentas de usuario en MySQL y le daremos permisos a las mismas.

El caso a resolver será el siguiente:

  • Crear una nueva base de datos
  • Crear un usuario administrador para esa base de datos que solo se pueda conectar localmente
  • Crear un usuario de consulta para la base de datos que se pueda conectar remotamente

(más…)

¿Quien nunca ha recibido un error en la conexión a MySQL? A continuación, un Top 5 con los errores más comunes, su descripción y sus posibles causas.

  • Can’t connect to MySQL server on.
  • Lost connection to MySQL server during query.
  • Access denied for user.
  • Host NN is not allowed to connect to this MySQL.
  • MySQL server has gone away.

(más…)

Usar SQL para generar SQL

El principio para la creación de cadenas SQL a partir de SQL consiste, básicamente, en recorrer la metadata (information schema) de una base de datos y armar strings sql a partir de la concatenación strings constantes y del nombre de los objetos (nombre de tablas, nombre de campos, nombre de constraints, etc.) de la base de datos.

Las consultas SQL utilizadas pueden variar en cuanto a los nombres de los campos, tablas involucradas u objetos del sistema de acuerdo al sistema de gestión de base de datos utilizado, pero el funcionamiento es el mismo. El único esfuerzo extra a realizar será investigar el diccionario de datos de cada DBMS.

Los ejemplos mencionados en el artículo original, correspoden a consultas de Oracle, en nuestro caso, veremos ejemplos similares para una base de datos MySQL:

(más…)

Las hojas de referencia ILoveJackDaniels ya son conocidas por la web, pero no está de más recordar algunas:

  • PHP: funciones, variables superglobales, formato de fechas, expresiones regulares y apertura de archivos.
  • MySQL: funciones de MySQL, tipos de datos, funciones en PHP y consultas de ejemplo.
  • Javascript: funciones y métodos, XMLHttpRequest, Javascript en HTML, expresiones regulares y manejadores de eventos.
  • CSS: lista de propiedades, selectores, pseudo-selectores, unidades y propiedades.

A continuación, y para su descarga, las hojas de referencia en PNG y PDF:

(más…)

La replicación es una buena alternativa para tener disponibilidad de información cuando un servidor se cae. La replicación no suplanta los backups, sino, simplemente garantiza la operatividad.

MySQL soporta un esquema de replicación asincrónica de un servidor maestro a uno o varios servidores esclavos. El “master” escribe las transacciones en un log binario, que sirve como registro de actualizaciones para enviar a los servidores esclavos.

En esta oportunidad solo veremos una configuración Master-Slave, es decir, todas las actualizaciones sobre el servidor maestro son replicadas en el esclavo. Si se realizan actualizaciones sobre el esclavo, estas no se hacen efectivas en el maestro. Para crear un esquema de replicación maestro-maestro es necesario crear un esquema circular, donde cada servidor es maestro y esclavo, a la vez, del otro.

(más…)

Mono con MySQL

Hace un tiempo, di mis primeros pasos en Mono, con el desarrollo de unos programas muy básicos en Mono, que no iban mucho más allá del Hola Mundo.

Con dar unos pasos más en mi intrusión con Mono, en esta ocasión desarrollaré una aplicación básica, capaz de hacer altas y bajas en una base de datos MySQL.

(más…)

Imagina la situación de chequear si dos tablas o vistas tienen los mismos datos (en cantidad y valores). En ORACLE, esto no sería mayor inconveniente gracias al operador MINUS. MINUS devuelve aquellas filas que están en un primer ’select’ y no están en un segundo ’select’. Sin embargo ¿como podemos lograr esto con bases de datos SQL Server o MySQL?
(más…)

A continuación, intentaré nombrar algunos comandos útiles para ejecutar en MySQL. Cabe destacar, que estos comandos pueden ser ejecutados desde el shell del sistema operativo ($) y/o desde el shell de MySQL (mysql>). Por una cuestión de orden, los comandos serán clasificados en:

  • Descripción del sistema, bases de datos y tablas.
  • Definición de datos
  • Administración
  • Backups e importación de datos

(más…)

Una tarea que suele ser frecuente es la de tener que llevar toda una base de datos MySQL de un servidor a otro. Por ejemplo, en un servidor de desarrollo a un servidor en producción, o de un servidor local a un servidor remoto, o desde un servidor maestro a un servidor esclavo.

Para esto nos vamos a valer de dos aplicaciones, incluidas en la distribución de MySQL:

  • mysql: el shell client de MySQL, desde el puedes hacer todo (o casi todo) lo que realizas con un cliente gráfico, aunque sacrificando un poco la operatividad.
  • mysqldump: la aplicación con la que puedes hacer un volcado (dump) de una base de datos o colección de base de datos o de una tabla o colección de tablas. Por defecto, como resultado devuelve un script sql.

(más…)

Administrar la integridad de los datos a través del código de la aplicación le añade complejidad innecesaria al código, además de tener sus riesgos. A pesar de ser cuidadosos, bajo algunas condiciones podemos llegar quebrar la integridad referencial.

Un ejemplo clásico es el de registros “huérfanos”. Esto ocurre cuando eliminas de una tabla “padre” un registro y por alguna razón los “hijos” no son eliminados. Esto también puede ocurrir si actualizas el valor de un campo de la tabla “padre” y no actualizas los registros “hijos”.

(más…)


Búsqueda personalizada


Categorías

Licencia de uso

Usuarios

       web counter