Si eres usuario de bases de datos MySQL seguramente te habrá llegado algún mensaje de advertencia acerca de la optimización de tus bases de datos. A mí el otro día me avisó Moodle 3.1.3 acerca de que mi formato de tablas estaba en formato Antílope y me aconsejaba convertir mis datos a Barracuda. Sinceramente no tenía ni idea de a qué se estaba refiriendo, investigué para variar, y me di cuenta que sí, que era cierto, que podría incrementar el rendimiento de Moodle actualizando el formato.

Update to Mdl 2.8.5

"Your database has tables using Antelope as the file format. You are recommended to convert the tables to the Barracuda file format. See the documentation Administration via command line for details of a tool for converting InnoDB tables to Barracuda.”

No te preocupes por si te cargas tus tablas haciendo esto. Aunque los desarrolladores de MySQL le pongan nombres exóticos de "Antelope" / "Barracuda"... todo esto no es más que convertir un formato de tablas InnoDB de modo COMPACT a modo COMPRESSED.

Lo primero es comprobar con PHPMyAdmin o similar que tus tablas son del tipo InnoDB:

innodb

Y posteriormente sería ejecutar el comando:

ALTER TABLE nombretabla ROW_FORMAT=COMPRESSED

Pero claro, y si tienes 360 tablas, como tiene Moodle... vamos una a una? No, evidentemente. Ahí viene el script que te copio a continuación y que hará el trabajo por ti:

<?
// Datos de conexión
mysql_connect("ipMySQL","usuario","clave");
mysql_select_db("basededatos");
// Bucle que recorre todas las tablas de la base de datos
$res = mysql_query("SHOW TABLES");
while ($row = mysql_fetch_array($res))
{
    foreach ($row as $key => $table)
    {
        mysql_query("ALTER TABLE " . $table . " ROW_FORMAT=COMPRESSED");
        echo $key . " =&gt; " . $table . " CONVERTIDA<br />";
    }
}
?>

Lo metes en una página .php en tu servidor web y lo ejecutas poniendo su nombre en el navegador. Por ejemplo si lo grabamos en nuestro servidor en la carpeta moodle con el nombre barracuda.php:

http://www.rafaelsantos.es/moodle/barracuda.php

 

 

Si después de actualizar a Ubuntu 16.04.01 LTS desde alguna versión anterior te das cuenta de que no tienes tildes al escribir, no te preocupes, se soluciona fácilmente. Solo tienes que ir a la Configuración del Sistema, Soporte de Idiomas, instalar el soporte completo de Español y dejarlo todo como en la captura de pantalla que incluyo aquí debajo.

soporte idiomas2

Si un día abres tu Ubuntu y ves que no tienes el reloj y el calendario donde lo dejaste, no te preocupes, Ubuntu te lo quita para que no te estreses mirando la hora.

Si quieres reactivarlo sigue estos pasos:

1. Reinstala indicator-datetime. Debería estar instalado por defecto pero en ese caso ha podido ser desconfigurado por cualquier tarea de actualización, es mejor ejecutar la instalación de nuevo.

sudo apt-get install indicator-datetime

2. Reconfiguramos la fecha y hora de nuevo:

sudo dpkg-reconfigure --frontend noninteractive tzdata

3. Reiniciamos Unity.

sudo killall unity-panel-service

Si estás en un entorno Linux te aconsejo que utilices NFS para compartir carpetas, huye de SAMBA si estás entre sistemas Linux !!!

Sigue estos pasos:

1. Instalación de NFS

sudo apt-get install nfs-kernel-server

2. Configurar servidor NFS

sudo nano /etc/exports

Insertar una carpeta para ser compartida:

# write like below *note
/home 192.168.0.0/24(rw,sync,fsid=0,no_root_squash,no_subtree_check)

Reiniciar servicio:

sudo /etc/init.d/nfs-kernel-server restart

3. Instalar Cliente NFS

sudo apt-get install nfs-common

4. Configuración del Cliente NFS

sudo mount -t nfs ip_del_servidor:/home/rafa/Documents /mnt/carpeta

Realizar el montaje de forma automática

sudo nano /etc/fstab

Añadir las siguientes líneas:

# add at the last: change home directory this server mounts to the one on NFS
ip_del_servidor:/home/rafa/Documents /mnt/carpeta nfs defaults 0 0

 

NFS con un Firewall

Se os puede dar el caso de que necesitéis NFS tras un Firewall. Lo que tendréis que hacer es crear una regla de salida del servicio NFS en el ordenador que quiere conectar o montar la carpeta y una regla de entrada en el servidor que está compartiendo los archivos. Se creará una regla con el puerto 2049 por defecto.

fire1

Si haciendo esto no conectara, seguramente se esté produciendo un problema de versiones NFS. A partir de la versión NFS 4 ya no es necesario remapear ningún puerto más, diferente del 2049, pero el controlador NFS lleva integrada la compatibilidad hacia atrás. Esto ocasiona que el Firewall bloquee el puerto de control del NFS y no permite la conexión.

Para solucionarlo es tan sencillo como cambiar un número. En la línea de /etc/exports del servidor cambiar el parámetro fsid=0 por fsid=1

Y reiniciar el servicio nfs-kernel-server

Si no pudiéramos cambiar el número porque no tenemos acceso al servidor, tendríamos que hacer un montaje en el ordenador cliente de la forma:

sudo mount -t nfs ipdelservidor:/ ruta_de_montaje

Ojo porque ipdelservidor:/ es tal cual, sin poner la ruta de la carpeta que está compartida. Solo hay que poner /, para indicar la raíz. Eso precisamente es lo que significa fsid=0, compartir desde el raíz.

El tipo -t nfs también se puede cambiar por -t nfs4 y nos cercioramos de que estamos usando la última versión del sistema de archivos. Pero es opcional.

Por último, si en el archivo /etc/exports compartimos de la forma:

/home/rafa *(ro)

 

fire2Solo con esa línea funciona siempre con los parámetros por defecto de NFS4 a través de un Firewall sin ningún problema. Más sencillo imposible.

En ningún caso hay que abrir más puertos ni modificar ficheros de configuración, ya que no es necesario en versiones superiores a la 4 del NFS.

 

Descarga el PDF de este documento aquí.