Default collation values in mariadb

Hi everyone,

this is my first post here. I have an awful trip behind me from a corrupted (not running) nextcloud installation on arch with sqlite3; I dumped the database, converted to mysql format with a script and by hand and then reimported it into a fresh nextcloudpi installation (with mariadb). It is highly probable that some settings in the database are wrong.

I am very grateful that no data was lost during this maneuver, but now I am facing multiple new problems, one of which is that no user can access the preferences page via the web interface. It shows an internal server error page, this is in the error log:

"Message":"An exception occurred while executing 'SELECT `uid`, `displayname` FROM `oc_users` `u` LEFT JOIN `oc_preferences` `p` ON (`userid` = `uid`) AND (`appid` = 'settings') AND (`configkey` = 'email') WHERE (`uid`  COLLATE utf8mb4_general_ci LIKE ?) OR (`displayname`  COLLATE utf8mb4_general_ci LIKE ?) OR (`configvalue`  COLLATE utf8mb4_general_ci LIKE ?) ORDER BY `uid_lower` ASC LIMIT 25' with params [\"%%\", \"%%\", \"%%\"]:\n\nSQLSTATE[42000]: Syntax error or access violation: 1253 COLLATION 'utf8mb4_general_ci' is not valid for CHARACTER SET 'binary'"

It seems, my collation is wrong. I would like to know what the usual collation (/char set) settings for the database, table (mostly oc_users) and columns are.

(Other main problem is that android clients cannot login with multiple errors, but I will cover that later)
AppManger::checkAppForUser - can’t decode group IDs: [admin] - json error code: 4

Also: Do you have a suggestion for a more wholesome approach to getting back to a standard database setup?


Let me rephrase that: Would anyone be willing to dump his mariadb nextcloud database and paste me all the “CREATE TABLE”-lines? I think that would be the easiest way to get where I want… otherwise I would have to do a fresh install just to get that dump.

I guess that would be the easiest way for you.
This way you can compare the whole DB - when using a different DB name and look at them side-to-side.