Guia par cambiar de 2.8.5+ a 2.9 Si no habias cambiado a innodb

Guia par cambiar de 2.8.5+ a 2.9 Si no habias cambiado a innodb

de Ricardo Grandón -
Número de respuestas: 2

Saludos:

en vista de que no muchos cambiaron la engine de la base de datos, cosa que moodle viene sugiriendo desde hace ya un tiempo.


ahora en 2.9 será un paso obligatorio, esta guía esta pensada en aquel que se lanzo a hacer el cambio sin prever este contratiempo y de ayuda a los que cambiaron pero aún les arroja uno que otro Warning por formato u otro  ^_^.


paso 1

actualizar, eso se puede realizar como mejor te parezca  ya que hay dos métodos claros y puedes hacer el que mejor estimes, solo recuerda respaldar.

(recuerda dejar la plataforma en "mantenimiento").

paso 2

cuando intentes acceder a {tu sitio}/admin/index.php para actualizar te aparecerá una limitante que te solicitara actualizar desde myisam a innodb.

 2.1

Antes de pasar a trasformar todo necesitas saber si tu mysql soporta innodb, esto es

entrar con usuario root y ejecutar el siguiente comando

mysql -u root -p <--- ingreso

show engines; <-- comando

debería salir algo asi (nota el mio ya esta por defecto en innodb)


si esta todo así cero problemas y pasas al siguiente paso, sino consultar este link

2.2

acá es donde ejecutas este script con permisos un super usuario. (adjunto)

php ainnodb.php <-- comando

(nota el script también puede ser ejecutado por web, pero no se recomienda)

Paso 3

una vez terminado esto (saldrá el mensaje que ok) ya estamos listos para recargar en la actualización de moodle la cual te dará paso libre para actualizar

una vez actualizada la versión de moodle debería aparecer otro error de entorno (admin-servidor-entorno) que dice que las tablas no estan comprimidas con barracuda sino que tienen antilope.

para solucionar esto ejecutas
desde el wwwroot de moodle  (donde esta instalado tu moodle) ejecutas lo siguiente.

" php admin/cli/mysql_compressed_rows.php -f "

luego ejecutas

" php admin/cli/mysql_compressed_rows.php -i "

deberías tener algo como esto.

Database version:      5.5.43-0+deb7u1
Database name:         moodletest
Database engine:       InnoDB
innodb_file_per_table: ON
innodb_file_format:    Barracuda

(eliminar " " en las sentencias)

y le das a "Actualizar componente"  y desaparece el warning de entorno y dejas todo ok para 2.9 .


saludos !








Promedio de valoraciones:Útil (3)
En respuesta a Ricardo Grandón

Re: Guia par cambiar de 2.8.5+ a 2.9 Si no habias cambiado a innodb

de Alberto Domínguez García -

Hola,

gracias por la guía.

Me gustaría que me ayudases a empezar con ella.

Para comenzar ejecuté tu script vía web, ya que no sabía hacerlo de la otra forma, y después actualicé de moodle 2.8 a 2.9 sin problemas.

Cuando entro en la nueva plataforma me sigue pidiendo actualizar la base de datos al nuevo formato, por lo que me imagino que lo he hecho mal. Concretamente me dice:

InnoDB a Barracuda

Me imagino que realicé el proceso mal, ¿no? Pero lo raro entonces es que me haya dejado actualizar a la última versión de moodle, ¿no?.

Voy a intentarlo desde el principio.

Tengo mi moodle en un server compartido y cuando empiezo a leer el tutorial dices:

Antes de pasar a trasformar todo necesitas saber si tu mysql soporta innodb, esto es

entrar con usuario root y ejecutar el siguiente comando

mysql -u root -p <--- ingreso

show engines; <-- comando

debería salir algo asi (nota el mio ya esta por defecto en innodb)


Perdona mi ignorancia, ¿entrar con usuario root dónde? ¿te refieres a entrar en phpmyadmin? ¿puedo hacerlo en un server compartido?

Gracias.

Un saludo.


En respuesta a Alberto Domínguez García

Re: Guia par cambiar de 2.8.5+ a 2.9 Si no habias cambiado a innodb

de Carlos Zurera Andrés -

Desde phpmyadmin puedes lanzar show engines directamente.+

¿Utilizas un hosting gratuito?

Yo no he conseguido instalar todavía la última versión desde un hosting gratuito... :/


Siempre utilizaba byethost como servidor gratuito pero no ofrece innodb de forma gratuita. Estoy por lo tanto buscando alguna alternativa.