Migration from SQLite3 to MySQL (MariaDB)

Migrating the database from SQLite to MySQL, I’ve got the next error many times:

Unexpected error executing code for particular method, detected by Xmlrpc-c method registry code. Method did not fail; rather, it did not complete at all. 7925-byte supposed UTF-8 string is not valid UTF-8. UTF-8 string contains a character not in the Basic Multilingual Plane (first byte 0xfffffffa)

The proccess I used was:

in MySQL:

DROP DATABASE one;
CREATE DATABASE one CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL ON one.* TO oneadmin@localhost IDENTIFIED BY ‘pass’;
FLUSH PRIVILEGES;

in shell:

service opennebula stop
sqlite3 /var/lib/one/one.db .dump | ./sqlite3-to-mysql.py > data.sql
mysql -u oneadmin -p one < mysql.sql
service opennebula start

in /etc/one/oned.conf:

> DB = [ backend = "mysql",
>        server  = "localhost",
>        port    = 0,
>        user    = "oneadmin",
>        passwd  = "oneadmin",
>        db_name = "one" ]

Does anybody knows another method that works fine?

Thanks.

I assume the original poster has either solved this issue or moved on by now, but in case anyone else comes here searching for a solution as I did earlier today; I seem to have successfully remedied this in my setup.

Using the Onedb Tool (docs here: http://docs.opennebula.org/5.4/deployment/references/onedb.html?highlight=sqlite2mysql) issue presented as in OP.

The solution in my particular case was renaming my cluster, which contained the character ‘Ö’, to a short, arbitrarily chosen name with no special characters and repeating the linked instructions. I dropped the database created by oned -i in between.

This leads me to believe there was issue with character encoding.