MariaDB UTF-8 Issue

us: Message template (english)

Hello YunoHost Support! I have been enjoying setting up my apps and learning how to use YunoHost. I am one step away from being in Nirvana with YunoHost.

My YunoHost server

**Hardware: Old laptop or computer (Lenovo Think Server)
YunoHost version: 3.6.5.3
I have access to my server : Through SSH and through the web admin
Are you in a special context or did you perform some particular tweaking on your YunoHost instance ? : no

Description of my issue

I have been trying to install a Learning Management System (LMS) with the Custom Web App. ATutor and Forma both failed saying the database is not UTF-8. I understand it should be utf8mb4. How do I fix this?

Here are the steps I take: I install the Custom Web App; fill out the form and password. I ftp the app into YunoHost and then run the app install from the web. When I give the MySql information, I get the error stating UTF-8 is required. When you query mysql about this, it says it is UTF-8. But I have read there is an issue with MySql and UTF-8. The fix is to use utf8mb4, but not sure how to accomplish this. I have some basic MySql knowledge (I can log in and select database file) but how to get the file to utf8mb4?

The apps (Atutor, Forma), will not create tables because of this error. The install just stops.

Hello,
Maybe this tutorial could help you?
https://docs.moodle.org/19/fr/Convertir_votre_base_MySQL_en_UTF-8

Hello, thanks for the link. It is in French though, I am handicapped to the English language. :slightly_smiling_face:

Dear YunoHost Support,

Apparently, you must be at least MySQL 5.5 for any conversions to work. I think YunoHost is a 5.0? Any plans to update to 5.5? Thank you. Would apt get mysql5.5 work?

Yunohost supposedly depends on Mariadb which is version 10.1 in Stretch … :
https://packages.debian.org/stretch/mariadb-server

Soo, not sure where you saw that Yunohost comes with 5.0 ?

There’s also the mysql-common package which might be installed, which I see is version 5.8

Hello Aleks,

When I ssh in to Yunohost server and type “mysql -V” I get

mysql Ver 15.1 Distrib 10.1.41-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

I guess I thought 5.2 was the version then.

How do I get the mysql-common 5.8 package?

anonyme18,

I found the page in English, but changing the my.cnf file made database stop working. Reverted back.

Aleks,

I tried installing Forma again. During the install, before it failed, it gave me the following regarding my setup in YunoHost:

Step 2: System Check
Server information
Server software : : nginx/1.10.3
PHP Version : : 7.0.33-0+deb9u6
Mysql Client Version : : 5.0.12
Multibyte Support: ON
mime_content_type() support: ON
Fileinfo support : ON
Ldap : : ON
Openssl : : ON
Site Timezone: America/Chicago
PHP Information :
magic_quotes_gpc : : OFF
Safe mode : : OFF
register_global : : OFF
allow_url_fopen : : ON
allow_url_include : : OFF
upload_max_filsize : : 1G
post_max_size : : 1G-

MySQL was reported at 5.0.12

So how can I update the database in YunoHost? Hope you are having a great day and evening.

Uh wokay, it’s weird, I don’t quite understand what package exactly here is version 5.0.12 …

Can you try dpkg --list | grep "mariadb\|mysql"

or maybe: dpkg --list | grep 5.0.12 ?

Hello Aleks,

I am away at work and cannot ssh into my YunoHost box at this moment. When I get home… I am pretty sure no matter what version is reported it will not be at least MySQL 5.5, which is required in order to fix the UTF-8 issue. I have only two apps installed using MySQL at present and have not done any work in them. So losing them would not be too hard to reinstall. I am looking at an article on how to upgrade from MySQL 5.0 to 5.7.

My concern is I do not know what it would do to YunoHost if I attempt the upgrade? Any words of wisdom would be great.

Aleks,

Doing a little research; since I have very little invested in the way of database files, I am thinking the best way to fix this is to removed the two apps I have, thereby removing the database files (no need to backup), then uninstall whatever version is on the Yunohost box, and then installing MySQL 5.5 -5.8. Then make the UTF-8 fix and try installing a Learning Management System.

Again, I appreciate any help or insight you can give me.

Uuuh yea it’s not so clear for me either … Alternatively, can you maybe check what you get by opening a mysql shell with mysql

then inside the shell run the command : SHOW VARIABLES LIKE "%version%";

On my test server I see : innodb_version | 5.6.44-86.0

I am thinking of uninstalling MariaDB 10.1.41 and installing 10.3 or 10.4. At any rate, time to set up a VM test box of Yunohost and try it there first.

Hey Aleks,

Did not get to my computers last night. Busy day. So the plan is to:

  1. Set up a test Yunohost VM.
  2. Install Webtrees and Acontent, as they use MariaDB but do not care about UTF-8.
  3. Uninstall the MariaDB 10.1.41, the app and not the data.
  4. Set up MariaDB repository for 10.3 or 10.4.
  5. Install MariaDB 10.3 or 10.4.
  6. Run a command to link data to the new MariaDB.
  7. If successful, then apply the UTF-8 fix to utf8mb4.
  8. If MariaDB starts, then try to install Atutor and Forma.

If this works, I will post the details so anyone else in the Yunohost community dealing with the UTF-8 error can fix it.

dpkg --list | grep “mariadb|mysql”
ii libdbd-mysql-perl 4.041-2 amd 64 Perl5 database interface to the MariaDB/MySQL database
ii libmariadbclient18:amd64 10.1.41-0+deb9u1 amd 64 MariaDB database client library
ii mariadb-client-10.1 10.1.41-0+deb9u1 amd 64 MariaDB database client binaries
ii mariadb-client-core-10.1 10.1.41-0+deb9u1 amd 64 MariaDB database core client binaries
ii mariadb-common 10.1.41-0+deb9u1 all MariaDB common metapackage
ii mariadb-server 10.1.41-0+deb9u1 all MariaDB database server (metapackage depending on the latest version)
ii mariadb-server-10.1 10.1.41-0+deb9u1 amd 64 MariaDB database server binaries
ii mariadb-server-core-10.1 10.1.41-0+deb9u1 amd 64 MariaDB database core server files
ii mysql-common 5.8+1.0.2 all MySQL database common files, e.g. /etc/mysql/my.cnf
ii php-mysql 1:7.0+49 all MySQL module for PHP [default]
ii php7.0-mysql 7.0.33-0+deb9u6 amd 64 MySQL module for PHP

MariaDB [(none)]> SHOW VARIABLES LIKE “%version%”;
±------------------------±-------------------------+
| Variable_name | Value |
±------------------------±-------------------------+
| innodb_version | 5.6.44-86.0 |
| protocol_version | 10 |
| slave_type_conversions | |
| version | 10.1.41-MariaDB-0+deb9u1 |
| version_comment | Debian 9.9 |
| version_compile_machine | x86_64 |
| version_compile_os | debian-linux-gnu |
| version_malloc_library | system jemalloc |
| version_ssl_library | YaSSL 2.4.4 |
| wsrep_patch_version | wsrep_25.24 |
±------------------------±-------------------------+
10 rows in set (0.00 sec)

Yunohost.org is down. What’s up? I need a new iso for my test vm.

c.f. Ongoing outage on our infrastructure

Help Aleks,

I did the steps I mentioned previously. MariaDB 10.4 is now running. Everything is working except the Admin Dashboard. Here are the errors I get:

service yunohost-api start
Failed to start yunohost-api.service: Unit yunohost-api.service is masked.

service yunohost-api status
● yunohost-api.service
Loaded: masked (/dev/null; bad)
Active: inactive (dead)

Any help you can give would be great! Ralph :crazy_face:

Okay. I ran a lot of commands I found in the Yunohost forum and the admin dashboard is back. I still get this error when the page comes up:

“Could not retrieve feed: https://yunohost.org/security.rss. You might have a plugin prevent your browser from performing this request (or the website is down).”

I put the url into my browser and got a lot html/xml code. Is this on your end? The security.rss page. Or do I need to do something from here. Great fun I am having.

Hey Aleks,

I have my Yunohost up and running. I have the UTF-8 encoding set up in MariaDB. I still was unable to get Forma LMS or ATutor to install. Forma gave a php error right at the end of the install and ATutor still complained about UTF-8 despite the fact it is setup. So, I tried to install the Gibbon LMS and the install was successful however, I cannot login into the application, when I try (using Yunohost accounts or the account created during install with the Custom Web App) I am redirected to the YunoHost Portal. The fun continues, any ideas on how fix the login?