FEDERATED: cómo activar storage engine en GNU/Linux

February 5th, 2010 by admin 1 comment »

En algún momento se puede requerir activar el motor FEDERATED para mysql en nuestro servidor.

Una tabla de la base de datos ‘FEDERATED‘ no se almacena localmente. Viene a ser algo asi como crear la esctructura de los datos en local pero el almacenamiento de los datos se realiza en otro servidor remoto y se usa el api del cliente de mysql para las operaciones de lectura escritura. actualización e inserción.

En ejemplo de tabla FEDERATED:

CREATE TABLE federated_table (
    id     INT(20) NOT NULL AUTO_INCREMENT,
    name   VARCHAR(32) NOT NULL DEFAULT '',
    other  INT(20) NOT NULL DEFAULT '0',
    PRIMARY KEY  (id),
    INDEX name (name),
    INDEX other_key (other)
)
ENGINE=FEDERATED
DEFAULT CHARSET=latin1
CONNECTION='mysql://fed_user@remote_host:9306/federated/test_table';

Para activar esta opción en nuestro servicio de mysql es necesario ver si tenemos compilado el soporte. Para ello ejecutaremos

SHOW ENGINES;

Un ejemplo en una distro Debian :

mysql> show engines ;
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine     | Support | Comment                                                        | Transactions | XA   | Savepoints |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| BLACKHOLE  | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| CSV        | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| FEDERATED  | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
| ARCHIVE    | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance         | NO           | NO   | NO         |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
8 rows in set (0.00 sec)

En la documentación del comando show engines vemos que hay cuatro valores posibles:

  •  Yes : El soporte para ese motor es posible y está activo
  • Default : Como yes, pero el motor es que hay por defecto
  • No : El motor no está soportado
  • Disabled : El motor está soportado pero no activo.

En caso de las máquinas con Centos 5.x está como “NO” así que es necesario recompilar para activar el soporte. Para ello realizamos los siguientes pasos:

Descargamos las fuentes de mysql :

wget http://mirror.centos.org/centos/5/updates/SRPMS/mysql-5.0.77-4.el5_4.1.src.rpm
rpm -ivh mysql-5.0.77-4.el5_4.1.src.rpm

Si en nuestro sistema tenemos rpmbuild4.x:
Editar el fichero /usr/src/redhat/SPECS/mysql.spec y agregar a la seccion %configure –with-federated-storage-engine

Con rpmbuild 5 :

rpmbuild -bb --with federated-storage-engine /usr/src/redhat/SPECS/mysql.spec

Una vez generado los paquetes los ACTULIZAMOS en vez de instalar para evitar problemas.

rpm -Uvh /usr/src/redhat/RPMS/x86_64/mysql-5.0.77-4.1.x86_64.rpm /usr/src/redhat/RPMS/x86_64/mysql-server-5.0.77-4.1.x86_64.rpm

Para ello necesitaremos añadir federated en nuestro fichero my.conf

  • Share/Bookmark

Vulnerabilidad Windows usando compatibilidad para 16 bits

January 21st, 2010 by admin No comments »

Extraido de la noticia en hispasec

“Se han publicado los detalles de una grave vulnerabilidad en todas las versiones de Windows que permite elevar privilegios en el sistema. No existe parche disponible y el exploit está al alcance de cualquiera, lo que lo convierte en un serio “0 day” para Microsoft.”

“Se trata de un fallo de diseño que arrastran todos los Windows de 32 bits (basados en tecnología NT) desde 1993. Esto va desde el NT hasta Windows 7, pasando por 2000, 2003, 2008, XP y Vista.”

“Ormandy avisó a Microsoft en junio de 2009, y poco después confirmaron el problema. Harto de que no publicasen una solución (que considera no muy compleja), ha decidido hacer público el fallo.”

“Evitar el fallo implica deshabilitar el soporte para aplicaciones de 16 bits, ”

http://www.hispasec.com/unaaldia/4106/

Los vídeos publicados con cómo realizar esto (en inglés) desde la consola de políticas y aplicarlo a todos los clientes de un Directorio Activo están disponibles desde:

Windows Server 2003:
http://www.youtube.com/watch?v=XRVI4iQ2Nug

Windows Server 2008
http://www.youtube.com/watch?v=u8pfXW7crEQ

Para Windows XP:
http://www.youtube.com/watch?v=u7Y6d-BVwxk

Para sistemas más antiguos, NT4, aquí se explica cómo deshabilitar esta funcionalidad:
http://support.microsoft.com/kb/220159

Microsoft Windows NT #GP Trap Handler Allows Users to Switch Kernel Stack
http://lists.grok.org.uk/pipermail/full-disclosure/2010-January/072549.html

  • Share/Bookmark

[ayuda magento] optimizando y acelerando

January 19th, 2010 by admin No comments »

Esos días he revisado un par de artículos para mejorar el rendimiento de una tienda magento. Básicamente en toda la documentación se remite a los mismo puntos :

  • Instalacion de opcode cache con XCache o APC
  • Activar keepalive en apache
  • Montar var/sessions y var/cache sobre tmpfs

Además detalles de como optimizar magento , y en este artículo tambien se comenta el uso de memcached

  • Share/Bookmark

Plesk 9.2.3 ya soporta Debian 5.0 ( Lenny )

January 14th, 2010 by admin No comments »

Mucho tiempo ha tenido que pasar para que podamos actualizar nuestra Debian a Lenny no cargarnos la instalación de Plesk.

Podeis confirmar en las novedades de la versión 9.2.3 para sistemas basadas en paquetes .deb que Debian 5.0 está soportado.

Esperamos no encontrarnos con errores gordos con postfix como antaño.

La lista de sistemas soportados por Plesk actualmente es la siguiente:

  • Debian 3.1
  • Debian 4.0
  • Debian 5.0 New!
  • Ubuntu 6.06
  • Ubuntu 7.10
  • Ubuntu 8.04
  • Share/Bookmark

WMware compra Zimbra a Yahoo

January 14th, 2010 by admin No comments »

Según se publicó el día 12 de Enero, WMware ha adquirido Zimbra a Yahoo. Zimbra es una suite open source ( con su correspondiente servicio de pago ) que da servicio de correo tanto pop, imap, movil , etc, etc.

Más información en
http://www.zimbrablog.com/blog/archives/2010/01/zimbra-to-join-vmware.html

  • Share/Bookmark

Parallels libera Plesk Windows 9.3 con mejoras para 2008

January 12th, 2010 by admin No comments »

Recientemente ha sido liberado Plesk 9.3 con mejoras de soporte par Hyper-V y compabilidad con sistema operativo Windows 2008

La lista de cambios :

Parallels Plesk Panel 9.3.0

  1. [+] Microsoft Windows Server 2008 R2 support added.
  2. [+] Microsoft Hyper-V Server 2008 support added.
  3. [+] MailEnable Standard 4.16 support added.
  4. [-] Certificates from repository of domain set on exclusive IP address are reset when domain backup is restored bug is fixed.
  5. [-] The “Applications” link appearing in the left frame for domain administrator’s main menu when applications management is not supported by license bug is fixed.
  6. [-] Panel freezing because of web applications installation in Windows 2008 bug is fixed.
  7. [-] In-place migration from IIS 6 to Parallels Plesk Panel hanging bug is fixed.
  • Share/Bookmark

[ayuda magento] Errores al importar base de datos magento

January 8th, 2010 by admin 1 comment »

Magento es un software en auge entre los interesados en montar tiendas virtuales. Parece que Oscommerce ya tiene un sustituto fuerte, bien diseñado, estructurado, mvc, modulable y con pasarelas de pago maduras.
Uno de los problemas es que requiere php 5.2. Como muchos sabrán php 4 dejó de ser soportada hace años, pero aún existen distribuciones que oficialmente distribuyen la php 5.0 o 5.1 en su rama estable. Este es el caso de Centos 5 / RHEL 5 que necesita de repositorios no oficiales para subir a version php 5.2.

Bien, puestos en situación, el caso  se nos ha presentado un caso extraño de consumo de memoria desorbitado y totalmente desconcertante. Después de realizar todo tipo de pruebas para localizar este agujero negro de ram, hemos decidido cambiar a otro servidor basado en Debian que sí distribuyen php 5.2 en su rama ‘stable‘.

La migración ha sido un poco más problemática de lo habitual ya que Magento está muy preparado para el control de errores y no suelta los errores como habitualmente en error_log o en consola. Por ello hay que activar las siguientes lineas en index.php:

  • Mage::setIsDeveloperMode(true);
  • ini_set(‘display_errors’, 1);

De esta forma, sí nos vuelca los errores pon pantalla pero usando un manejador del propio Magento.

Otra piedra en el camino para el cambio del servidor ha sido este error con los índices de mysql

ERROR 1064 (42000) at line 25: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8' at line 10

Al parecer hay algún pequeño cambio de como definir el indice basado en BTREE ( acelera las búsquedas ) y no son totalmente compatibles la versión de Centos ( mysql 5.1 ) y la Debian ( mysql 5.0) . Si existe algún bug abierto en Debian, lo desconozco, aunque lo buscaré :D

La linea original del volcado es PRIMARY KEY (`actualidad_id`) USING BTREE y debe ser sustituida por PRIMARY KEY  USING BTREE (`actualidad_id`) para los más cómodos :

sed -i 's/PRIMARY KEY (`actualidad_id`) USING BTREE/PRIMARY KEY  USING BTREE (`actualidad_id`)/' volcado.sql

Igualmente para este otro error:

ERROR 1064 (42000) at line 390: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'USING BTREE,
 KEY `FK_ATTRIBUTE_VARCHAR_ENTITY` (`entity_id`),
 KEY `FK_CATALO' at line 9

el cambio sería :

mysql 5.1 UNIQUE KEY `IDX_BASE` (`entity_type_id`,`entity_id`,`attribute_id`,`store_id`) USING BTREE,
mysql 5.0 UNIQUE KEY `IDX_BASE` USING BTREE (`entity_type_id`,`entity_id`,`attribute_id`,`store_id`),

sed -i 's/UNIQUE KEY `IDX_BASE` (`entity_type_id`,`entity_id`,`attribute_id`,`store_id`) USING BTREE,/UNIQUE KEY `IDX_BASE` USING BTREE (`entity_type_id`,`entity_id`,`attribute_id`,`store_id`),/' volcado

Más información acerca de la sintaxis de mysql en http://dev.mysql.com/doc/refman/5.0/en/create-table.html

  • Share/Bookmark

The problem with moving VPS due to non-compliance with versions of

December 31st, 2009 by admin No comments »

Solution to this problem.

Stop the vps.

vzctrl stop vps_id

Run the script.

#!/bin/bash
for i in `find /vz/private/vps_id/fs/root/ -noleaf -type l -print | perl -nle '-e || print'|grep ._vzlnk_.`
do
ln -sf `ls -ga $i|grep ._vzlnk_.|awk '{print $9}'|sed 's/\/\/\//\/vz\/template/'` $i
done

Start the vps.

vzctrl start vps_id

PS should check directories in the folder template, so as not to create dead links.

taken from :

  • Share/Bookmark

Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib/php5/20060613+lfs/fileinfo.so’ – /usr/lib/php5/20060613+lfs/fileinfo.so: cannot open shared object file: No such file or directory in Unknown on line 0

December 30th, 2009 by admin No comments »

Algunos paquetes de Debian y otras distribuciones pueden quedarse obsoletos. En este caso php-fileinfo quedó obsoleto. Si no se ha eliminado la carga del modulo de php puede obtener este error :

<b>Warning</b>:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060613+lfs/fileinfo.so' - /usr/lib/php5/20060613+lfs/fileinfo.so: cannot open shared object file: No such file or directory in <b>Unknown</b> on line <b>0</b>

Una pequeña explicación del fin de vida del paquete en Debian la puedes consultar aquí http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=492442

Para los que necesiten el paquete aunque sea obsoleto, pueden seguir este manual para generar su propio fichero .deb en http://www.dotdeb.org/2008/09/25/how-to-package-php-extensions-by-yourself/

  • Share/Bookmark

acd1: TIMEOUT – READ_BIG retrying (1 retry left)

December 29th, 2009 by admin No comments »

Instalando un servidor Power Edge R200 de Dell nos encontramos con este incomodo error. Lo extraño es que sucede instalado FreeBSD 8, que debería estar más que probada para este hardware.

acd1: TIMEOUT - READ_BIG retrying (1 retry left)

Tenemos que usar viejas técnicas rastreas y sucias para que consigamos con éxito instalar nuestro servidor : deshabilitar dmas !!!

  • En el arranque presionamos la opción “6 escape to loader prompt”
  • set hw.ata.ata_dma=0
  • set hw.ata.atapi_dma=0
  • boot

En resumen :

  • set hw.ata.ata_dma=0 : deshabilita el dma en discos ata
  • set hw.ata.atapi_dma=0 : deshabilita el dma en discos opticos
  • boot : arranca la instalación


Más informacion sobre parámetors de arranque en FreeBSD en este enlace http://doc.pfsense.org/index.php/Booting_Options

Error dma FreBSD 8
  • Share/Bookmark