Como realizar la Actualización de MySQL para las tablas, de formato Antelope a Barracuda, a partir de versiones 2.6 de Moodle, en entorno Windows

Como realizar la Actualización de MySQL para las tablas, de formato Antelope a Barracuda, a partir de versiones 2.6 de Moodle, en entorno Windows

de José Alberto Balboa -
Número de respuestas: 3

Para todos aquellos que como yo, se hayan encontrado con este problema, después de intentar la actualización de su versión de moodle, 2.6 en adelante, en entorno Windows:

Cuando realizamos el proceso de actualización, en el apartado de la comprobación de tu versión de moodle actual y la revisión de las compatibilidades, con la siguiente, es posible que la actualización demande un cambio o revisión, en el modo en el que están formateadas las tablas, de Antelope a Barracuda, en concreto, en las siguientes:

mdl_data                        

mdl_data_fields                 

mdl_enrol_paypal              

mdl_lti                         

mdl_user                     

mdl_user_info_field             

Este error en MySQL conlleva un cambio o ampliación, en el tamaño de los caracteres por tabla lo cual puede influir, entre otras cosas, en las direcciones url, y llevar a errores posteriores, (tipo 500, 404, etc) de todos modos, moodle continua con la actualización y la acaba sin mas problemas, pero si este problema no se soluciona, persistirá en las siguientes actualizaciones, puesto que la ejecución del Cron, no lo corrige.

Solucción:

Existe en tu carpeta de moodle, o sea en tu instalación actual, dentro del directorio Admin/cli un archivo .php, para corregir ese problema, al menos en parte, se denomina mysql_compressed_rows.php  . Está ahí para resolver este problema, ahora se trata de activarlo:

Al ser un archivo con extensión .php, necesitas un ejecutor de comandos php, para que realize su cometido, y ese ejecutor, puede ser un PHP56.exe, (o el que tenga que ver con tu versión actual de PHP, 5.3, o 5.4, etc) que descarges a tu DD, y que instales en una carpeta en tu disco duro, por ejemplo, C:\PHP, desde esta ubicación y con el ejecutor de comandos PHP56.exe, dentro dispararemos a nuestro mysql_compressed_rows.php, como?, un suponer:

C:\cd PHP

C:\PHP\php C:\inetpub\"midominio"\moodle\admin\cli\mysql_compressed_rows.php -l


La carpeta inetpub en windows es la que publica, puesto que depende del servidor web IIS, dentro de esta carpeta elige tu dominio, donde sustituirás el nombre completo de tu url, como se puede ver en la línea de comandos anterior, y te diriges hacia el mysql_compressed_rows.php -l con la opción "l" de listar las tablas que en MySQL, presentan problemas, te mostrará las tablas que vimos al principio, posteriormente ejecutamos:

php C:\inetpub\"midominio"\moodle\admin\cli\mysql_compressed_rows.php -f 

donde la opción f, forzaría la correción del problema, pero es posible, que no sea así, porque no tienes los permisos necesarios en MySQL, para ejecutar la acción, estos permisos son a nivel de SUPERADMINISTRATOR, y para ello es necesario que accedas a MySQL, desde la posición del Admin de origen, osea del Admin que declaraste en el proceso inicial de instalación de la base de datos. Si dispones de phpAdmin, para acceder a MySQL, desde Web, requiere que te sitúes en Home, dentro de MySQL, y que te asegures que estás como administrador principal, si es así, seleccionas la pestaña, SQL, y le pegas el siguiente código:

Use "elnombredemibasededatos"_;

SET SESSION sql_mode=STRICT_ALL_TABLES;

SET GLOBAL innodb_file_per_table=1;

SET GLOBAL innodb_file_format=Barracuda;

ALTER TABLE mdl_data ROW_FORMAT=Compressed;

ALTER TABLE mdl_data_fields ROW_FORMAT=Compressed;

ALTER TABLE mdl_enrol_paypal ROW_FORMAT=Compressed;

ALTER TABLE mdl_lti ROW_FORMAT=Compressed;

ALTER TABLE mdl_user ROW_FORMAT=Compressed;

ALTER TABLE mdl_user_info_field ROW_FORMAT=Compressed;


En Use identifico mi base de datos, vinculada a moodle, en la cual quiero cambiar el formato de Antelope a Barracuda, escribo o copio correctamente los comandos y ejecuto pulsando en Continuar.

Si no hay errores MySQL, validará la acción, pero como puedo comprobarlo?, vuelvo a la línea de comando y ejecuto:

php C:\inetpub\midominio\moodle\admin\cli\mysql_compressed_rows.php -l

listando nuevamente las tablas anteriores y si la respuesta es:

mdl_data                        Compressed

mdl_data_fields                 Compressed

mdl_enrol_paypal                Compressed

mdl_lti                         Compressed

mdl_user                        Compressed

mdl_user_info_field             Compressed

el formato ya está corregido, y la revisión en moodle dejará de aparecer, con lo cual podemos seguir actualizando nuestra versión de moodle sin arrastrar esta revisión, en el futuro.

Promedio de valoraciones:Útil (1)
En respuesta a José Alberto Balboa

Re: Como realizar la Actualización de MySQL para las tablas, de formato Antelope a Barracuda, a partir de versiones 2.6 de Moodle, en entorno Windows

de Luis M. de Baldomero Zazo -

Buenas,

Yo tengo una duda y no se si quizás tu me puedas orientar

Tengo moodle en un servidor compartido de un proveedor. Cuando le pido que tengo que convertir mi base de datos innoDB antelope a innoDB barracuda, me dicen que no puede  hacerlo solo en mi base de datos y que deben activarlo en todo el servidor?

Es esto verdad? Si ya estoy usando una base de datos innoDB se supone que esta ya acepta los dos tipos de formato de tablas, no?


Muchas gracias

En respuesta a Luis M. de Baldomero Zazo

Re: Como realizar la Actualización de MySQL para las tablas, de formato Antelope a Barracuda, a partir de versiones 2.6 de Moodle, en entorno Windows

de Adolfo Juárez Briones -

Saludos


Te comento que lo que te dice tu proveedor de Servicio de Hosting es correcto.


El cambio de antílope a barracuda tiene que ver con cambios en la definición de datos en el caso de Moodle para ampliar el tipo de aceptación de datos.


Este cambio puede afectar de alguna manera  a las demás aplicaciones que tienen una base de datos en el servidor de MySQL, lo ideal seria que hicieran un análisis de si afecta o no pero dudo lo realicen ya que es mucha chamba ya que esta en función de cada aplicación.


Podrías pedir que te movieran aun servidor que ya este sobre este formato de base base de datos.


coméntanos como te fue.


bye