13 junio 2020

Cambiar el servicio de MySQL instalado con el parámetro --defaults-file

En Windows, para cambiar la ubicación del archivo de configuración my.ini cuando MySQL se ejecuta como servicio usando el parámetro --defaults-file, la opción rápida es recrear el servicio. 

Para ello, ejecutamos las siguientes instrucciónes:

1) Detener el servicio si actualmente se encuentra en ejecución

net stop MySQL

2) Eliminar el servicio usando el comando sc delete y el nombre del servicio

sc delete MySQL

3) Crear el nuevo servicio de la siguiente forma 

mysqld --install MySQL --local-service --defaults-file="C:\Data\MySQL\my.ini"

Donde:
  • mysqld es el archivo ejecutable ubicado en la carpeta bin de los archivos del servidor
  • --install es el parámetro que sirve para realizar la instalación del servicio
  • --local-service para que se utilice la cuenta de usuario correspondiente a "Local Service", y 
  • --defaults-file para indicar la ruta donde se encuentra nuestro archivo de configuración my.ini
 

01 abril 2020

Instalar PHP sobre IIS en Windows 10

Opción 1: Web Platform Installer


Si la extensión no se encuentra instalada en el Administrador de Internet Information Services (IIS), clic en la acción Obtener nuevos componentes de plataforma web. Esta acción abrirá el navegador en la siguiente dirección:

https://www.iis.net/downloads/microsoft/web-platform-installer

Descargar el archivo correspondiente a nuestra plataforma (x86 o x64) y ejecutar el archivo MSI para agregar la extensión al Administrador IIS

Luego de abrir el Instalador de plataforma web se agregan los componentes que se desean instalar. En este caso PHP 7.3 y presiona el botón Instalar

Opción 2: Instalacion Manual


Descargar el archivo desde la página:

https://windows.php.net/download

La versión del archivo ZIP que se descarga es la correspondiente a Non Thread Safe debido a que se utilizará PHP con el controlador FastCGI

Descomprimir el contenido del archivo ZIP a la carpeta destinada a los archivos de PHP, por ejemplo:


C:\PHP\


La ruta a esta carpeta se debe agregar a la variable Path en las variables de entorno de Windows

En el Administrador IIS, Asignaciones de controlador, clic en la acción Agregar asignación de módulo, con los siguientes parámetros y valores:

Ruta de acceso de solicitudes: *.php
Módulo: FastCgiModule
Ejecutable: C:\PHP\php-cgi.exe
Nombre: PHP_FastCGI

En esta misma ventana, clic el botón Restricciones de solicitudes para cambiar la opción seleccionada en la pestaña Asignación al valor Archivo o Carpeta

En el Administrador IIS, Documento predeterminado, agregar un documento con el valor index.php

En la carpeta C:\PHP\ copiar y renombrar el archivo php.ini-development o php.ini-production a php.ini

Crear la subcarpeta C:\PHP\temp y asignar permisos al grupo IIS_IUSRS y al usuario IUSR

En el Administrador IIS, Configuración de FastCGI, modificar los siguientes parámetros para PHP:
En la propiedad Supervisar cambios en el archivo, el valor debe ser C:\PHP\php.ini
En la propiedad Variables de entorno agregamos las variables

PHP_FCGI_MAX_REQUESTS con valor 200
PHPRC con valor C:\PHP\
Modificar el archivo INI para los siguientes parámetros:


error_log = C:\PHP\temp\PHP_FastCGI_errors.log
session.save_path = C:\PHP\temp\
upload_tmp_dir = C:\PHP\temp\
extension_dir = C:\PHP\ext\
open_basedir = C:\inetpub\wwwroot
cgi.force_redirect = 0
cgi.fix_pathinfo=1
fastcgi.impersonate = 1
date.timezone = America/Guatemala

Opcional

Descargar PHP Manager for IIS, instalar archivo MSI y reiniciar el Servicio de publicación World Wide Web

Descargar la librería WinCache correspondiente a la version de PHP instalada desde:

https://sourceforge.net/projects/wincache/files/development/

Desempaquetar el archivo descargado y copiar archivo php_wincache.dll a la carpeta C:\PHP\ext\

Finalmente

Habilitar las extensiónes necesarias usando PHP Manager o directamente modificando el archivo INI

25 febrero 2020

Listar servicios activos en Windows

Para obtener una lista de los servicios en ejecución desde la línea de comandos de Windows se utiliza la instrucción:


net start


Si lo que queremos es saber si algún servicio se encuentra en ejecución, podemos hacerlo buscando un texto en el resultado de la instrucción anterior. Por ejemplo, si queremos saber si el servicio de MySQL se encuentra en el listado de servicios activos:


net start | find /i "mysql"


También, podemos hacerlo consultando el estado de un servicio específico por su nombre:


sc query mysql


El resultado para este último caso se muestra en la imagen


17 octubre 2019

ORA-39142: incompatible version number 5.1 in dump file

Cuando se intenta importar un archivo de datos generado con expdp de Oracle 18c XE a una base de datos de Oracle 11g XE

Para evitar esto, al momento de exportar los datos en 18c se debe especificar la versión de destino con el parametro version

Ejemplo:

expdp esquema/contraseña@XEPDB1 directory=backup_dir dumpfile=backup.dmp logfile=export.log version=11.2

10 noviembre 2015

Listar las tablas de una base de datos en SQL Server

Para obtener una lista de las tablas de la base de datos actual

SELECT NAME
FROM   sys.tables