miércoles, 19 de mayo de 2010

Recuperacion de Bases de Datos MySql


Hoy por la tarde me informaron de un problema, uno de los usuarios con privilegios de acceso al servidor Windows permitió que un 3ro que desarrollo una aplicación que se ejecuta en esta empresa instalara sin avisar a nadie un pack de aplicaciones conocido como appserver, es muy útil para que los novatos que se inician en la programación de PHP y MySql le configure el apache el PHP y el MySql; el único inconveniente es que esta persona no previo ni pregunto si se tenia ya una instalación de MySql en el servidor (yo ya tenia aplicaciones que desarrolle las cuales ya contaban con una correcta instalación de MySql) esta persona inicio la instalación de el pack appserver por lógica comenzó a arrojar errores en la ejecución por la otra instancia de MySql.


Debido a los errores esta persona decidió desinstalar su Pack de aplicaciones el único inconveniente es que daño de manera definitiva la instalación estable que ya se tenia en el servidor; fue en ese momento que se informo todo lo sucedido por lo que me di a la tarea de buscar una solución.


Que se debe revisar:

1.- Archivos de MySQL tanto físicos como binarios de la base de datos


Que la instalación se encuentre aun, esto se hace revisando el directorio donde se encuentra los binarios de MySql, por defecto se encuentran en:

C:\Program Files\MySQL\MySQL Server 5.1

Aunque si uno lo definió diferente durante la instalación uno tiene que recordarlo



ahora bien si los binarios existen hay que revisar si los archivos físicos de la base de datos se encuentran aun en  el servidor puede puede darse el caso de que al des-instalar el paquete los hubiera borrado también; esto presento un verdadero reto, por ningún lado podía encontrar los archivos,  todo por que al instalar la base de datos no personalice la ubicación de estos archivos lo deje en la opción por defecto "instalation dir" o algo similar.


Después de mucho navegar y de leer y releer el manual en línea del sitio de MySql.com encontré que supuestamente la ruta debía ser en el directorio de instalación el un subdirectorio llamado data; cual fue mi sorpresa al descubrir que dicho subdirectorio no existe.






Podran imaginar mi sorpresa si en todos lados decia que debia estar hay; busque y rebusque por todos los directorios y no conseguía encontrar los archivos físicos de el servicio de MySql, intente buscar archivos con la terminación *.Frm o .opt ( que son terminaciones de los archivos fisicos de Mysql), dichos archivos no aparecían en los resultados de las búsquedas de sistema por ningún lado ni una ni otra terminación; esto incluso me llevo a pensar que la instalación  y des inflacionista del involucrado había terminado con mi información; también recordé que el archivo que almacena la mayor parte de la información se llama "ibdata" sin ninguna extencion pero aun así nada. 


Estaba por desistir y aceptar que mi información había pasado al cielo cuando se me predio el foco acerca de revisar un instalación de MySql en un equipo de desarrollo y testing que tenia a la mano; cual fue mi sorpresa al ver que aun en un equipo con el MySQL funcionado la carpeta Data no se encontraba en la carpeta de instalación de MySql y que la configuración había sido la misma que la del servidor. Al tampoco poder encontrar  los archivos en la búsqueda sobre este equipo deduje que los archivos deberían permanecer ocultos y por eso no podía localizarlos el dilema era entonces donde estaban????.


Como ya les mencione por mas que busque y busque ne la red no hallaba la ubicación de los ficheros o de la carpeta data que no fuese en el directorio de instalación en donde por cierto no los tenia mi servidor ni mi maquina de prueba; finalmente no supe de donde la respuesta llego hasta mi tome la maquina cliente y ejecute el administrador de MySQL que se inclye en le gui Tools  y procedí a revisar en sus configuraciones en la pestaña de general donde viene la ubicación de los archivos y la carpeta Data






Y si final mente  la ruta donde se encontraban mis archivos físicos de la Base de Datos:




C:\ProgramData\MySQL\MySQL Server 5.1\Data\






Esto de alguna forma aseguraba que ya tuviera salvo parte o alguna información ahora ya que tenia eso lo primordial era iniciar el servicio de Mysql en el servidor, y así probar estos archivos; mas adelante explicare como hice esto; el paso a seguir es ver que paso con MySql en el server




   2. El servicio de MySql


Una vez que se comprueba que los archivos se encuentran se procede a revisar si los servicios de MySql se están ejecutando de forma correcta; esto se revisa mediante la utilidad de servicios de Windows Server:








Esta opción despliega una pantalla similar a esta:



En esta buscaremos el servicio de MySql que es como se nombra por default, aunque también puede que se llame de otra manera si es que se le cambio el nombre durante la configuración de la instancia de MySql; el servicio como se ve se mostraba inactivo al iniciarlo me devolvía el siguiente mensaje:

Este mensaje es bastante desconcertante y en verdad no dice mucho; adicional a esto intente usar la herramienta de configuración de instancias de MySQL; al terminar me aprecia que no podía ejecutar por un error:0 lo cual tampoco nos dice y según busque por Internet eta pantalla es muy odiada
Ya antes me habían ocurrido errores al terminar de crear instancias de MySql pero nunca un error así general mente los problemas se originaban en la parte de apply security esos son fáciles de arreglar; ahora bien este error es un poco mas complejo busque por la red y encontré un par de respuestas raras, buscano entre el sitio de MySql y  otros encontré este video de youtube Puedes verlo aquí (puede que alguno le funcione), eso no funciono así que de pues de intentar mil y una cosas decidí terminar con todo rastro de MySql de mi servidor tome la carpeta de los datos (\data\) e hice uso de una de las vulnerabilidades que conozco de MySql para comprobar que mi información estaba completa y a salvo; de hecho este truco puede usarse para malos fines y les pido que no hagan mal uso de esto simple mente que les sea útil para en caso de que alguna ves se vean en la misma necesidad que yo de abrir los datos de MySql en otro manejador y ver la información de todas sus bases con el root de otro equipo, como se hace esto es muy sencillo.


   3. El Recuperando información de MySql explotando una vulnerabilidad del motor de base de datos.



  1. Realizar la Instalación de un servidor de MySql en otro equipo completamente distinto (Puede ser virtual).
  2. crear un instancia valida de MySql en la instalación nueva
  3. Identificar  o personalizar la carpeta destino de los archivos físicos de la nueva instalación
  4. Detener el servicio en la maquina alternativa y copiar los archivos del servidor dañado de la carpeta Data (C:\ProgramData\MySQL\MySQL Server 5.1\Data\ si es que es l miso que el mio)  a una unidad extraible y reemplazar los archivos del dañado con el de la nueva instalación.
  5. Iniciar el servicio de MySql 
  6. Si tenemos suerte y los archivos son compatibles que generalmente lo son y estos no se dañaron podremos acceder a la información del servidor dañado con las credenciales del nuevo servidor y realizar un respaldo de forma correcta de nuestra información de la forma en que mas nos acomode yo prefiero usar el MySql Administrator para estos menesteres pero es elección de cada persona.
  3. Instalación forzada de MySql como si fuera nuevo.

Ahora bien con la información a salvo en mi respaldo podemos modificar cualquier cosa con respecto a MySql sin preocupación.

Ahora bien ¿como eliminar la información que reside en nuestro equipo referente a MySql?

La respuesta me llevo un rato buscarla y comprobar que Mysql una ves des instalado no dejara rastros en el registro ni nada parecido pero no, lo único que se requiere eliminar las carpetas que ya teníamos identificadas la carpeta de instalación y datos( en mi caso las carpetas "C:\ProgramData\MySQL\MySQL Server 5.1\Data\" y "C:\Program Files\MySQL\MySQL Server 5.1")

Una ves eliminadas las carpetas procedemos a realizar una nueva instalación la cual se ejecuta sin ningún problema, cargamos nuestros respaldos según nos acomode en mi caso igual haciendo uso del MySql Administrator y Listo información recuperada y servidor levantado.

Espero que esto les ahorre las horas que pase yo haciendo pruebas e investigando y recuerden que lo expresado aqui es para fines educativos .... y que yo no me responsabilizo de como lo utilicen... solo espero que les ayude como me ayudo a mi el saberlo..

sábado, 8 de mayo de 2010

Microsoft presenta Internet Explorer 9


Microsoft presenta Internet Explorer 9
IE9 Los estándares de la industria y las innovaciones se apoderaron del escenario en MIX10 a medida que Microsoft realizó una serie de anuncios que destacan el compromiso de la compañía con la interoperabilidad y el desempeño en el web. Dean Hachamovitch, Gerente General de Internet Explorer en Microsoft, presentó la versión preliminar de la plataforma Internet Explorer 9, que incluye mayor soporte para HTML5, gráficos acelerados por hardware y una nueva máquina JavaScript. Juntas, esas características permiten a los desarrolladores utilizar el mismo lenguaje markup y ofrecer aplicaciones web gráfica y funcionalmente superiores que aprovecharán el nuevo hardware para PC a través de un moderno sistema operativo.
Microsoft también anunció que contribuirá al desarrollo de características y mejoras nuevas en el jQuery JavaScript Library y compartió el lanzamiento de nuevos kits de desarrollo de software (SDKs) para el Open Data Protocol (OData), los cuales permiten a los desarrolladores acceder con mayor facilidad a los datos desde la nube para crear aplicaciones web más atractivas en diferentes plataformas.
Elevando las expectativas de los desarrolladores con aceleración por hardware y mayor interoperabilidad.


Como parte de su compromiso con la interoperabilidad, Microsoft anunció su soporte para varias especificaciones HTML5, incluyendo CSS3, Scalable Vector Graphics (SVG), análisis XHTML y las etiquetas de video y audio que emplean códecs estándares en la industria (H.264/MPEG4 y MP3/AAC), entre otros. Asimismo, Microsoft demostró una nueva máquina JavaScript que utiliza los múltiples cores de los chips más modernos para administrar eficientemente los recursos computacionales y optimizar el desempeño del software en el web. Debido a que combina mayor interoperabilidad con la nueva máquina JavaScript y la tecnología Direct 2D, Internet Explorer 9 permite a los desarrolladores web brindar a los usuarios experiencias más completas, más rápidas y más consistentes.
“Me alegra el compromiso de Microsoft con el HTML Working Group y con HTML5”, afirmó Philippe Le Hegaret, Director de Dominios en W3C.
“Internet Explorer 9 es el primer navegador en tomar los patrones web estándares que los desarrolladores utilizan y hacerlos funcionar mejor en las PCs modernas a través de Windows”, dijo Hachamovitch.
A partir de MIX10, los desarrolladores también podrán seguir de cerca el progreso de Microsoft y proporcionar retroalimentación directa sobre la versión preliminar de la plataforma Internet Explorer 9 mediante la evaluación de las nuevas actualizaciones de código cada ocho semanas hasta la disponibilidad de la versión beta. Los desarrolladores pueden descargar la versión preliminar de la plataforma Internet Explorer 9 en http://www.IETestDrive.com.

“La capacidad de Internet Explorer 9 de permitir HTML5 acelerado por GPU es un logro en la computación visual”, dijo Drew Henry, gerente general de la unidad de negocios GeForce e ION GPU en NVIDIA Corp. “Debido a que aprovecha el poder de los NVIDIA GPUs, Internet Explorer 9 elimina las limitaciones para los desarrolladores web y les permite producir aplicaciones web de alto desempeño y gráficamente intensas”.
Mayor soporte de desarrollo cliente a través de la jQuery JavaScript Library
Como parte del compromiso de Microsoft con las comunidades de código abierto, el Vicepresidente Corporativo Scott Guthrie anunció que Microsoft invertirá recursos para contribuir al desarrollo de la jQuery JavaScript Library y así ayudar a mejorar el proceso de desarrollo de aplicaciones web basadas en estándares. Microsoft también se enfocará en ofrecer una mejor interoperabilidad entre ASP.NET y la jQuery JavaScript Library mediante la optimización de ASP.NET, a fin de que los desarrolladores de .NET puedan incorporar mejor las capacidades de jQuery. Asimismo, Microsoft promoverá y distribuirá de manera activa las versiones de la jQuery JavaScript Library a través de la incorporación de productos populares como Microsoft Visual Studio 2010 y ASP.NET MVC 2. Como primer paso, Microsoft proporcionará una máquina de plantillas al equipo de la jQuery JavaScript Library para simplificar las aplicaciones web.

Innovadoras experiencias de usuario impulsadas por la nube


Con el fin de permitir a los desarrolladores crear, en distintas plataformas, aplicaciones móviles y web que utilizan datos provenientes de la nube, Microsoft también presentó SDKs para OData, que es un enfoque hacia la portabilidad de datos basado en HTTP y Atom para varios lenguajes y plataformas, entre ellos .NET, Java, PHP, Objective-C (iPhone y Mac) y JavaScript. Además, Microsoft anunció la segunda versión Community Technology Preview (CTP) del producto Microsoft de nombre código “Dallas”, un mercado de información impulsado por la plataforma Windows Azure que brinda a los desarrolladores acceso a los conjuntos de datos de terceros para ser utilizados por las aplicaciones web y móviles. Con la disponibilidad de contenido y datos a través de un enlace OData por medio de “Dallas”, los desarrolladores pueden acceder a sus datos y comercializarlos bajo sus propios términos y precios, así como integrarlos en las aplicaciones para ofrecer una experiencia de usuario única.
Los desarrolladores ya pueden aprovechar los más de 30 conjuntos de datos de proveedores de contenido, incluyendo NAVTEQ, Pitney Bowes Business Insight, Weather Central y Zillow.com, disponibles en el mercado de información “Dallas”. Los desarrolladores pueden acceder al SDK para OData en http://www.odata.org y descargar “Dallas” CTP2 en http://www.Microsoft.com/Dallas.

Las noticias de MIX10 se pueden consultar en http://live.visitmix.com/press.

jueves, 6 de mayo de 2010

Actualización anti-piratería en Windows 7


Los engranajes se ponen una vez más en movimiento, y los viejos enemigos se enfrentan una vez más. Es el clásico “Microsoft contra los piratas”, en una flamante edición 2010. Con un impresionante récord de ventas, Windows 7 es actualmente el niño mimado en Redmond. Y como tal, han decidido que es un buen momento para hacerle la vida un poco más difícil a aquellos que se dedican a desarrollar formas para evadir o falsificar la activación del sistema operativo. Como muchas veces ha sucedido en el pasado, Microsoft pasará a la acción para reforzar la seguridad del sistema de activación en Windows 7 a través de un parche que saldrá dentro de unos pocos días, el cual desactivará más de setenta vulnerabilidades que permiten el franqueo de la activación sin consecuencias negativas.

Quien aún intente negar el rotundo éxito que ha tenido Windows 7, o no dispone de una conexión a Internet para informarse o siente un odio increíblemente profundo por todo lo que es Microsoft. Las ganancias del gigante de Redmond en el último cuarto se hubieran visto seriamente afectadas si no hubiera sido por las más de sesenta millones de licencias vendidas. El entusiasmo de los usuarios por abandonar a Windows Vista fue grande, y Windows 7 fue la respuesta que esperaban. El éxito comercial de Windows 7 lo convierte de forma casi inmediata en uno de los sistemas operativos más pirateados. Haciendo un poco de memoria, los números de serie para activar copias ilegales aparecieron mucho tiempo antes de que la versión final del sistema operativo apareciera en las estanterías. El proceso para falsificar la activación en Windows 7 resultó ser increíblemente sencillo, debido a las múltiples similitudes que compartía con Windows Vista en ese aspecto.
Ahora, menos de cuatro meses después del lanzamiento de Windows 7, en Microsoft han anunciado la publicación de un parche para actualizar las Tecnologías de Activación de Windows, más conocido como WAT. De acuerdo al anuncio oficial podrá contrarrestar los efectos de más de setenta vulnerabilidades conocidas que pueden abrir una brecha en el sistema de activación. Los sistemas de activación ilegal existentes hacen un trabajo tal que es posible actualizar copias piratas de Windows 7 a través del servicio Windows Update, uno de los tantos canales de distribución que tendrá el parche.
Sin embargo, hay un detalle importante a destacar. El parche de Microsoft mantendrá una postura pasiva frente a la copia pirata. Sólo se limitará a informar al usuario a través de anuncios y una marca de agua en el escritorio que, tal y como lo exponen en Redmond, “podría ser víctima de una falsificación”. El sistema operativo no presentará un estado de “funciones reducidas” como sucedía en el pasado, sino que el parche probablemente buscará la forma de advertir (y agobiar) al usuario con sus anuncios. El problema es saber con certeza cómo reaccionará el parche ante algunos de los métodos de activación. En muchos de estos métodos el cargador de arranque del sistema operativo (bootloader) es reemplazado por otro para emular las condiciones necesarias que permitan la activación, pero si dicho bootloader es quitado o reemplazado de forma incorrecta, algunos usuarios se encontrarán con un sistema completamente inutilizado. Aún así, los piratas contarán con la ventaja de que el parche es completamente opcional. Aparecerá como “importante” en Windows Update, y no como crítica. El parche estará disponible en Windows Update a finales de este mes.

FUENTE DE NOTICA: