Moodle database collation

Acceso rápido:

Moodle max_input_vars

por Tim Hunt Para prolongar la tontería un poco más, Dan Poltawski convirtió un viejo iPhone en un servidor Moodle: http://blog.danpoltawski.co.uk/archives/2009-06-turning-my-iphone-into-a-moodle-server.html

A diferencia de la mayoría de los mensajes en este foro, éste es para celebrar que la actualización de nuestro servidor principal de producción de Moodle 1.9.17+ a 2.2.3+ ¡ha sido un éxito! Llevaba meses preocupándome por esta operación. Nuestro entorno principal de Moodle tiene unos 5000 cursos, alrededor de 10 000 usuarios, unos 250 Gb de moodledata y una base de datos MySql que se configuró primero en Moodle 1.4, se actualizó a 1.5 y 1.6 y luego se recreó en 1.8 y se actualizó a 1.9. Nunca iba a ser fácil. Nunca iba a ser fácil.

Que finalmente se hiciera sin problemas (a pesar de que el proceso de actualización llevó unas 6 horas) es gracias a los incansables Moodlers de estos foros y a los desarrolladores de Moodle que respondieron a sus informes de errores. Realizamos numerosas pruebas de actualización que revelaron numerosos problemas (la mayoría relacionados con la base de datos), para todos los cuales encontramos soluciones en moodle.org y en el Moodle Tracker.

Mysql cambiar intercalación

DB=»dbname»; ( echo ‘ALTER DATABASE `'»$DB»‘` CHARACTER SET utf8 COLLATE utf8_general_ci;’; mysql «$DB» -e «SHOW TABLES» –batch –skip-column-names | xargs -I{} echo ‘ALTER TABLE `'{}’` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;’ ) | mysql «$DB»

El verdadero escollo al pasar de latin a utf8 es asegurarse de que pdo se conecta con el conjunto de caracteres utf8. Si no, obtendrá datos basura insertados en la tabla utf8 y signos de interrogación por todas partes en su página web, haciéndole pensar que los datos de la tabla no son utf8…

Tuve una situación en la que ciertos caracteres se «rompían» en los correos electrónicos a pesar de que estaban almacenados como UTF-8 en la base de datos. Si usted está enviando correos electrónicos utilizando datos utf8, es posible que desee convertir también sus correos electrónicos para enviar en UTF8.

Si no puede convertir sus tablas o si su tabla siempre está configurada con un juego de caracteres que no es UTF8, pero quiere UTF8, lo mejor que puede hacer es borrarla y empezar de nuevo, especificando explícitamente:

FROM `COLUMNS` INNER JOIN `TABLES` ON `TABLES`.table_name = `COLUMNS`.table_name WHERE `COLUMNS`.table_schema like «YOUR_DATABASE_NAME» and data_type in (‘varchar’,’char’) AND TABLE_TYPE=’BASE TABLE’ UNION

Intercalación Utf8mb4

Se recomienda tener configurado el soporte completo de UTF-8 en MySQL. De lo contrario, algunos conjuntos de caracteres, en particular los emojis, no podrán utilizarse. Es posible hacerlo después de instalar el sitio, pero es mucho más fácil antes de la instalación.

La configuración actual de MySQL o MariaDB utiliza ‘utf8’. Este conjunto de caracteres no soporta caracteres de cuatro bytes que incluyen algunos emoji. Si intenta utilizar estos caracteres, se producirá un error al actualizar un registro y se perderá toda la información enviada a la base de datos. Por favor, considera cambiar tu configuración a ‘utf8mb4’.

El meollo de este tema es cómo almacenan los ordenadores los caracteres A, B, a, b, 1, 2, @, #, etc. – son almacenados por los ordenadores. Antiguamente (años 70), el almacenamiento de todos los caracteres necesarios para la lengua inglesa cabía en ocho bits (dígitos binarios): un byte, que permite hasta 255 caracteres. Con el limitado almacenamiento informático de la época, esto era suficiente para los sistemas informáticos de los países anglófonos y occidentales. Pero, evidentemente, este planteamiento no daba abasto para idiomas que requerían más de 255 caracteres, como el chino o el japonés, o para mostrar caracteres de varios idiomas a la vez.

Mysql_full_unicode_support

La gestión de la base de datos detrás de Moodle es clave para mejorar el rendimiento y lograr el tiempo de actividad para sus usuarios. En este vídeo de formación hablaremos sobre la base de datos de Moodle, incluyendo temas como la configuración, la monitorización y la gestión de esquemas, además de mostrarle cómo ClusterControl puede ayudarle con la gestión de sus sistemas LMS de eLearning.

La gestión de la base de datos detrás de Moodle es clave para mejorar el rendimiento y lograr el tiempo de actividad para sus usuarios. En este vídeo de formación hablaremos sobre la base de datos de Moodle, incluyendo temas como la configuración, la monitorización y la gestión de esquemas, además de mostrarle cómo ClusterControl puede ayudarle con la gestión de sus sistemas eLearning LMS.