Category Archives: MySQL

Cómo dividir ficheros SQL

Cómo dividir ficheros SQL

Cuando estamos importando una base de datos Mysql que es muy pesada, y no contamos con conexión ssh o terminal server al servidor de bases de datos para evitar problemas de timeout, pocas son las soluciones de las que disponemos para evitar este tipo de incidencias. En el artículo de hoy veremos cómo dividir ficheros SQL con la aplicación SQLDumpSplitter para Windows para paliar este tipo de problemas.

Esta pequeña aplicación, nos permitirá seleccionar un fichero sql, el tamaño de máximo de cada fichero y el directorio donde guardará los ficheros resultantes.

El resultado de ejecutar la aplicación es un fichero base que contiene todas las estructuras de las tablas y en el resto de ficheros está contenido todo el volcado de los datos estas tablas.

Yo personalmente lo he probado y me quede encantado con los resultados, ya que en unos minutos pudo dividir ficheros SQL de varios gb de espacio.

Si queréis echarle un vistazo a la aplicación podéis visitar esta web

1 Star2 Stars3 Stars4 Stars5 Stars (1 votos, media: 5,00 de 5)
Loading...

Adminer, una alternativa a phpMyAdmin

adminer, una alternativa a phpmyadmin

Hoy os haré un pequeño resumen de las principales ventajas de trabajar con Adminer, una alternativa a phpMyAdmin.Los desarrollos web que llevo a cabo, he tenido que traspasar multitud de bases de datos MySQL a entre servidores.Si os habéis tenido que encargar de esta tarea alguna vez con alguna base de datos que tenga un peso considerable, os habréis topado con los mismos problemas que me he topado yo: exceder el timeout mientras volcamos los datos, mientras exportamos, problemas de charset en las los valores de las tablas… todo esto son problemas inevitables en este tipo de tareas, pero con la herramienta adecuada, podemos paliar estos problemas cotidianos .

Principales ventajas de adminer

La primera ventaja con la que nos encontramos nada mas descargar, es que la aplicación tan solo consta de un fichero, cosa que agiliza el proceso de subida al servidor y gestión del mismo, además de tener un sistema de manejo de los datos similar a phpMyAdmin.

Otra de las ventajas es que, a pesar de ser un solo fichero, cuenta con la mayoría de funciones con las que cuenta phpMyAdmin para administrar bases de datos, pero también podemos encontrar para otros lenguajes SQL/NoSQL como MySQL, PostgreSQL, SQLite, MS SQL, Oracle, SimpleDB, Elasticsearch y MongoDB.

Importaciones/exportaciones de bases de datos con adminer

A nivel personal, me quede prendado del sistema de exportación que posee, ya que desde la misma página, puedes seleccionar que tablas y contenido de las mismas, pudiendo escoger entre varios formatos de salida, como por ejemplo un fichero gzip o sql. Esto puede ser muy útil si hay que importar una base de datos muy pesada y hay que importar por partes debido a problemas de timeout del servidor.

En tema de importaciones de datos, destaca el sistema por no ser necesario hacer directamente upload del fichero que necesitamos volcar, sino que lo podemos subir via FTP el fichero, renombrado como adminer.sql o adminer.sql.gz en el mismo directorio que tenemos que hemos subido adminer.php.De este modo, pondremos ejecutar el fichero sin necesidad de subirlo directamente en el mismo proceso, dejando más tiempo para el volcado del fichero.

Visitar web de adminer

1 Star2 Stars3 Stars4 Stars5 Stars (2 votos, media: 5,00 de 5)
Loading...

Prepared statements con MySQLi

Logo de MySQL

Hoy os mostraré cómo hacer prepared statements con MySQLi en PHP, de la misma forma que se hace puede hace en otros lenguages, como por ejemplo en Java.

Porqué un objeto MySQLi

La objeto mysql de PHP a fecha de hoy está obsoleto, su evolución fue el objeto MySQLi, que entre otras muchas mejoras, incluyo el montaje de prepared statements. Por otro lado , si lo prefieres puedes utilizar PDO.

Para qué utilizar prepared statements con MySQLi

Esta función de los prepared statements con MySQLi, se utiliza, entre otros casos, para evitar cualquier tipo de ataque de SQL Injection contra nuestra base de datos. Gracias a esta función , podemos montar una query filtrando en todo momento, cualquier tipo de input , ya sea del lado del cliente, o sacando nuestros inputs del lado del servidor.

Cómo utilizar prepared statements con MySQLi

Lo primero de todo es montar una conexión a nuestra base de datos con el objeto MySQLi de PHP.

A continuación, montamos el string que contendrá la query, poniendo el símbolo ‘?’ a todos aquellos campos que inputs que queramos filtrar mediante la función prepare

Después, introduciremos que tipo de inputs vamos a pasar como parámetros mediante la función bind_param, cómo por ejemplo strings, integer, double o blob, en el caso que mandemos datos que no son planos.

En el primer campo pasaremos uno a uno de que tipo es cada uno de los parámetros que vamos a pasarle a modo de string. Posteriormente, en el resto de los parámetros, pasaremos las variables, estén declaradas ya o no, para poder manipularlas después.

Por último, solo nos queda ejecutar el statement y recorrer como queramos el resultado,en este ejemplo, al igual que hago habitualmente en mi código, utilizo el método fetch() de MySQLi.

Por ultimo, tened en cuenta que para liberar memoria, hay que cerrar el statement y la base de datos. Como pincelada final, si la query que habéis ejecutado ha sido “pesada”, es decir, que ha consumido muchos recursos del sistema, podéis utilizar la función free() del statement para liberar la memoria consumida.

Os invito , a que utilicéis los prepared statements con MySQLi ya que, a pesar de que al inicio de su utilización puede ser un poco pesado, con el tiempo vereis el potencial que tiene esta clase y la acabareis utilizando habitualmente.Por ejemplo, también lo podéis utilizar en sentencias insert update y delete.

Fuente: w3schools

1 Star2 Stars3 Stars4 Stars5 Stars (Sin puntuaciones)
Loading...

Copyright © 2017. Powered by WordPress & Romangie Theme.