Saltar al contenido

En muchas ocasiones tienes un script de sql que la memoria de php o un timeout no te permite cargar desde el PhPMyAdmin con un sencillo "Importar".

Debes saber que con el propio XAMPP se instala MySQL y lleva una suite de utilidades que te permiten hacer muchas viguerías con la bases de datos. Incluso en Windows.

Te voy a explicar como importar una base de datos MySQL desde la consola de Windows.

  1. Abre la consola con el comando "cmd" y sitúate en la carpeta bin en el directorio de instalación de MySQL, si tienes XAMPP lo tienes en:
    C:\xampp\mysql\bin
  2. En esta carpeta tienes todas las utilidades, utilizaremos mysql.exe y ejecutaremos el siguiente comando:
    mysql -h localhost -u root --default-character-set=utf8 nombrebd < C:\rutadel.sql

NOTAS IMPORTANTES:

  • localhost si lo tienes en local, sino tu ip de máquina.
  • root o el nombre de usuario, si tienes contraseña ponla a continuación
  • pon el character set por defecto
  • la ruta del fichero sql debe ser absoluta
  • el fichero debe ser .sql y no estar comprimido

Otro apunte muy a tener en cuenta es que si nos hemos descargado un volcado del phpmyadmin del servidor tendrás claves ajenas y/o otras restricciones que no permitirán la inserción en el orden que se ha generado las tablas del script. Puedes anular estas restricciones simplemente abriendo el fichero y poniendo:

SET FOREIGN_KEY_CHECKS=0;

De esta forma entrará todo el script sin validar las restricciones.

 

9

En ocasiones nos podemos encontrar con una sorpresa al intentar ejecutar un script en un servidor. El problema/restricción más común es que se nos lance una excepción indicando que:

"No se puede cargar el archivo XXXX.ps1 porque en el sistema está deshabilitada la ejecución de scripts. Vea "get-help about_signing" para obtener más información".

Captura2

 

Por tanto, el error es que en el sistema esta deshabilitada la ejecución de scripts. Si abrimos el Windows PowerShell como administrador y ejecutamos el comando "Get-ExecutionPolicy" nos tendría que devolver "Unrestricted" o lo que es lo mismo "Restringido". Para cambiar esta configuración basta con ejecutar "Set-ExecutionPolicy Unrestricted".

Captura1

En ese momento ya se pueden ejecutar scripts sin problemas.

 

La herramienta Netsh (netsh.exe) permite automatizar el inicio y el término de un servicio utilizando una línea de comandos:

  • Para iniciar un servicio: Net start nombre_del_servicio
  • Para detener un servicio: Net stop nombre_del_servicio