"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

nextcloud database conversion problem

wergor 15.02.2020 - 13:49 3052 1
Posts

wergor

connoisseur de mimi
Avatar
Registered: Jul 2005
Location: graz
Posts: 4027
ich will meine nextcloud sqlite datenbank auf mysql migrieren. dafür habe ich eine mysql datenbank aufgesetzt und die conversion gestartet. die conversion bricht aber mit folgendem fehler ab:
Code:
chunked query, 2 chunks
 1461/1461 [============================] 100%oc_calendarobjects_props
 530/675 [=====================>------]  78%
In AbstractMySQLDriver.php line 106:

  An exception occurred while executing 'INSERT INTO `oc_calendarobjects_props` (`id`, `calendarid`, `objectid`, `name`, `parameter`, `value`, `calendartype`) VALUES(?, ?, ?,
   ?, ?, ?, ?)' with params ["1896", "15", "1424", "SUMMARY", null, "\ud83c\udf82 Vorname Nachname (1988)", "0"]:

  SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xF0\x9F\x8E\x82 F...' for column 'value' at row 1


In PDOStatement.php line 119:

  SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xF0\x9F\x8E\x82 F...' for column 'value' at row 1


In PDOStatement.php line 117:

  SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xF0\x9F\x8E\x82 F...' for column 'value' at row 1

laut meinen recherchen scheint die fehlermeldung mit support für emojis zusammenzuhängen. und tatsächlich, contact birthdays kalendereinträge haben ein emoji im titel:
2020-02-15-13_41_39-window_242122.png
ich habe meine datenbank nochmal geprüft, die scheint aber zu passen:
Code:
mysql> use nextcloud;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> SELECT @@character_set_database, @@collation_database;
+--------------------------+----------------------+
| @@character_set_database | @@collation_database |
+--------------------------+----------------------+
| utf8mb4                  | utf8mb4_general_ci   |
+--------------------------+----------------------+
1 row in set (0.00 sec)

mysql> show variables like 'innodb_file_format';
+--------------------+-----------+
| Variable_name      | Value     |
+--------------------+-----------+
| innodb_file_format | Barracuda |
+--------------------+-----------+
1 row in set (0.02 sec)

mysql> show variables like 'innodb_file_per_table';
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| innodb_file_per_table | ON    |
+-----------------------+-------+
1 row in set (0.01 sec)
weis jemand was ich noch weiter probieren könnte?

wergor

connoisseur de mimi
Avatar
Registered: Jul 2005
Location: graz
Posts: 4027
habs gelöst :)
calendar settings -> enable birthday calendar deaktivieren. migration starten, ist problemlos durchgelaufen. danach hat nextcloud aber immer noch gemeint 4 byte support wäre deaktiviert. die lösung dafür war
Code:
sudo -u www-data php occ config:system:set mysql.utf8mb4 --type boolean --value="true"
sudo -u www-data php occ maintenance:repair
(schritt 5 und 6 aus der anleitung)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz