Ich importiere eine Question2Answer-Website und habe die folgenden Schritte befolgt. Das Skript kann keine Verbindung zur Datenbank herstellen. Bitte hilft mir jemand dabei.
Nach Abschluss der MariaDB-Installation wurde deren Status geprüft und der Dienst gestartet:
sudo service mysql status
sudo service mysql start
Abhängigkeiten installieren
echo “gem ‘mysql2’, require: false” >> /var/www/discourse/Gemfile
echo “gem ‘php_serialize’, require: false” >> /var/www/discourse/Gemfile
cd /var/www/discourse
su discourse -c ‘bundle install --no-deployment --without test --without development --path vendor/bundle’
Datenbank importieren
mysql -uroot -p -e ‘CREATE DATABASE q2adb’
mysql -uroot -p q2adb < q2a-old-db.sql
Folgende Variablen wurden exportiert. Da ich keine Anhänge habe, wurde diese Variable nicht exportiert. Auch wurde kein Passwort für den root-Benutzer festgelegt.
Ich habe versucht, den Hostnamen auf localhost, ‘127.0.0.1’, ip-171-22-11-150 (dies wird als Hostname angezeigt, wenn ich den Befehl >hostname ausführe) und die tatsächliche IP-Adresse des Servers zu setzen.
Ich habe auch ein Passwort für den Root-Benutzer festgelegt. Ich sehe, dass die Tabellen in der Datenbank korrekt aus q2a importiert wurden.
Der traditionelle Weg, Menschen zu motivieren, dir zusätzliche Hilfe zu leisten, besteht darin, dafür Geld zu bezahlen. Du kannst dies mit einem Budget in Marketplace veröffentlichen.
Ich bin auf denselben Fehler gestoßen, als ich versuchte, eine Migration von vBulletin5 über den Docker-Teil desselben Threads durchzuführen: Migrate a vBulletin 4 forum to Discourse
Ich habe zudem MariaDB anstelle von MySQL installiert:
Ich bin mir beim TABLE_PREFIX nicht ganz sicher. Aber in meiner Standardinstallation beginnen alle Tabellennamen mit vb5. – ich gehe also davon aus, dass das in Ordnung ist (ich habe es auch einmal leer gelassen).
Das Hauptproblem ist jedoch, dass ich keine Verbindung zur MariaDB-Datenbank mit dem discourse-Benutzer herstellen kann:
su discourse -c 'bundle exec ruby script/import_scripts/vbulletin5.rb'
Loading existing groups...
Loading existing users...
Loading existing categories...
Loading existing posts...
Loading existing topics...
Traceback (most recent call last):
5: from script/import_scripts/vbulletin5.rb:632:in `<main>'
4: from script/import_scripts/vbulletin5.rb:632:in `new'
3: from script/import_scripts/vbulletin5.rb:27:in `initialize'
2: from script/import_scripts/vbulletin5.rb:27:in `new'
1: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/mysql2-0.5.2/lib/mysql2/client.rb:90:in `initialize'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/mysql2-0.5.2/lib/mysql2/client.rb:90:in `connect': Access denied for user 'root'@'localhost' (Mysql2::Error)
su discourse
mysqlcheck -c vb5 -u root -p
Enter password: #password1234
mysqlcheck: Got error: 1698: Access denied for user 'root'@'localhost' when trying to connect