Ich habe die Anleitungen befolgt und bin bis hierhin gelangt, komme aber an diesem Punkt nicht weiter. Ich habe sogar einen neuen Benutzer auf dem MySQL-Server mit einem nativen Passwort erstellt und es versucht, jedoch ohne Erfolg.
su discourse -c "bundle exec ruby script/import_scripts/smf2.rb /shared/smf2 -t UTC"
Lade bestehende Gruppen...
Lade bestehende Benutzer...
Lade bestehende Kategorien...
Lade bestehende Beiträge...
Lade bestehende Themen...
Traceback (most recent call last):
7: from script/import_scripts/smf2.rb:701:in `<main>'
6: from script/import_scripts/smf2.rb:28:in `run'
5: from script/import_scripts/smf2.rb:28:in `new'
4: from script/import_scripts/smf2.rb:62:in `initialize'
3: from script/import_scripts/smf2.rb:274:in `create_db_connection'
2: from script/import_scripts/smf2.rb:274:in `new'
1: from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:90:in `initialize'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:90:in `connect': RSA-Verschlüsselung wird nicht unterstützt – das caching_sha2_password-Plugin wurde mit GnuTLS-Unterstützung erstellt (Mysql2::Error)
Dies scheint ein Problem mit dem Skript zu sein, da ich den MySQL-Client im Container installieren und über die Kommandozeile auf die Datenbank im MySQL-Container zugreifen kann.
Dies enthält eine interaktive Abfrage, bei der Sie die Standardeinstellungen wählen können (MySQL 8 mit Tools).
Anschließend installierte ich die normale MySQL 8-Bibliothek und setzte den Build fort:
apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y libmysqlclient-dev
su discourse -c 'bundle config unset deployment'
su discourse -c 'bundle install --no-deployment --path vendor/bundle --jobs 4 --without test development'
Sobald das alles erledigt war, verlief der Rest gleich. Der Import läuft jetzt.
Die Discourse-Entwickler sollten die Import-Skripte eventuell anpassen, um dies zu berücksichtigen. Zumindest steht es jetzt in den Foren, falls andere stecken bleiben wie ich.