Creando un servidor de MySQL local con Docker

Docker es un software de manejo de contenedores que permite exportar tu código junto con la configuración del entorno en donde se encuentra de manera sencilla y liviana sin preocuparse por los cambios que puedan haber en el sistema operativo, mientras que MySQL es la base de datos relacional Open Source más popular.

El objetivo de este POST es explicar el paso a paso de la creación de un contenedor de MySQL de manera local que se pueda acceder desde otras aplicaciones instaladas en la misma máquina. Se usa un computador con Ubuntu 18.04 LTS para el tutorial.

Requerimientos

  • Docker Instalado

Leer más

Crear un túnel SSH para acceder a un servidor MYSQL Remoto

Mysql Remoto a Través de Túnel SSH

Un túnel SSH consiste en una conexión segura creada a partir de una conexión SSH. En general puede asegurar cualquier transferencia o protocolo inseguro. Por ejemplo podríamos hacer una transferencia a través de FTP segura usando este tipo de túneles.

En este caso nuestro foco no será solo encriptar la comunicación con la base de datos, si no que será darle acceso a un computador, por ejemplo de escritorio, al servidor de base de datos a través de un servidor que tenga acceso a ella.

¿ Por que haremos esto ?

Si bien podríamos dar el acceso directamente a nuestro computador a través de nuestra dirección IP esto podría transformarse en una brecha de seguridad. En especial si compartimos la red con más personas en nuestras oficinas o en nuestro trabajo. En mi caso en este momento estoy trabajando en un apart hotel, por lo que agregar la dirección IP del apart hotel no es una opción para mi. ( Ojo, si se puede a costa de seguridad ).

Leer más

Base de datos de las instituciones financieras de Chile basada en la información del SBIF

Instituciones Financieras Chile – Base de datos de las instituciones financieras de Chile basada en la información del SBIF en SQL, CSV, PHP y JSON

Origen: GitHub – ctala/InstitucionesFinancierasChile: Base de datos de las instituciones financieras de Chile basada en la información del SBIF

Casi todas las cosas que comparto son debido a que no me gusta hacer el mismo trabajo más de una vez. En este caso estoy haciendo un modulo financiero para nuestro sistema ERP para conciliación bancaria, por lo que encontré que era buena idea tener la información de las instituciones bancarias de Chile.

Leer más

Cómo Tener la misma zona horaria en Mysql y PHP

Tener las hora del servidor MySQL y de PHP sincronizadas permite que no tengamos problemas en el análisis de los datos de nuestras aplicaciones y/o sistemas, en especial si uno de los factores de medición dependen de la diferencia de estos tiempos. Acá veremos como tener la misma zona horaria para ambos servicios.

Suele suceder que cuando usamos funciones de Mysql que retornan la hora y además otras por parte de PHP, la hora en ambas no es la misma. Esto es debido a que las configuraciones de ambas no son la misma.

Ambas horas vienen desde la configuración del servidor, pero por defecto ambas están en la zona horaria UTC, así que no importa la hora que tengamos en el servidor, la hora de estos servicios será distinta si no las configuramos de manera adecuada.

A continuación como configurar ambas.

Leer más

MySQL con regiones, provincias y comunas de Chile

SQL Con la información de las regiones, provincias y comunas de Chile según Decreto Exento Nº 817

Origen: ctala/Regiones-Provincias-y-Comunas-de-Chile. · GitHub

Regiones, provincias y comunas de Chile

Al fin comencé con el desarrollo del nuevo sistema de Shipping / Envíos unificado, por lo que antes tenía que estandarizar las tablas con la información de las regiones, provincias y comunas en Chile.

Si bien encontré muchos códigos con esta información, ninguno era “Estándar”. Buscando en Internet encontré un link de la “Subsecretaría de Desarrollo Regional y Administrativo” el cual incluía la información necesaria para mantener un orden en la información a utilizar. El código en GITHUB compartido incluye las regiones y provincias con sus respectivos números según el documento mensionado.

Leer más

Crear una Base de Datos MySQL remota para optimizar el rendimiento del sitio WordPress.

Cuando el sitio comienza a tener más tráfico tenemos que comenzar a pensar en como poder manejarlo. Lo más sencillo y lo que recomiendo es sacar la base de datos del servidor, en especial debido a que Mysql al no tener recursos suficientes simplemente deja de funcionar. Esto logra que cada servidor maneje su propia carga, además de ser el primer paso para tener un sitio con balanceador de carga.

En mi caso particular lancé un nuevo eCommerce con Woocommerce / WordPress en el cual no separé desde un inicio la BdD de datos debido a que pensé que el sitio tendría menos tráfico y carga asociada, me equivoqué, lo que es realmente bueno.

Sin embargo no puedo dejar que el eCommerce se caiga cada vez que tenga mucho tráfico, no sería muy agradable perder ventas por esto.

Este minitutorial está alojado en digital ocean, la verdad lo he probado hace un tiempo y funciona bastante bien. Sin embargo  se puede extrapolar para cualquier servidor linux, en mi caso Ububtu 14.04.

Entonces, lo que haremos :

  1. Crear un nuevo servidor ( Droplet ) al cual le instalaremos una base de datos Mysql.
  2. Instalar la base de datos Mysql.
  3. Configurar la BdD en modo seguro/ Producción.
  4. Crear un usuario / password para el acceso del sitio wordpress.
  5. ( Opcional ) – Configurar el firewall del servidor.

Leer más

Encontrar filas repetidas en Mysql

Mysql es una base de datos relacional, por lo que en general usamos relaciones (Dah !) que tienen que ser únicas a través de llaves primarias y foráneas. A veces nos pasan información que incluir en una tabla de manera directa que no necesariamente viene bien filtrada.

Cómo uno de nuestros fuertes en la empresa son los regalos corporativos, y dentro de ellos están los regalos de fin de año, muchas veces dependemos que las empresas con las cuales trabajamos nos manden la lista de empleados. En general esta información es entregada en un Excel o un CSV que puede tener datos repetidos que debemos filtrar.

Leer más

MysqlPasswordReset – Cambiar la clave root de Mysql

Acabo de crear un servidor WordPress con on click deployment de Google y tuve el problema que la clave que me dieron de mysql para root no correspondía a la real.

El error que obtenía era el siguiente :

ERROR 1045: Access denied for user: '[email protected]' (Using 
password: YES)

Estos son simples pasos para cambiar la clave root de Mysql bajo un servidor linux si es que posees el error anteriormente mencionado.

Leer más