Sto importando un sito Question2Answer e ho seguito i passaggi indicati di seguito. Lo script non riesce a connettersi al database. Qualcuno può per favore aiutarmi con questo problema?
Dopo aver completato l’installazione di MariaDB, ho verificato lo stato e avviato il servizio:
\u003e sudo service mysql status
\u003e sudo service mysql start
Installazione delle dipendenze
\u003e echo “gem ‘mysql2’, require: false” \u003e\u003e /var/www/discourse/Gemfile
\u003e echo “gem ‘php_serialize’, require: false” \u003e\u003e /var/www/discourse/Gemfile
\u003e cd /var/www/discourse
\u003e su discourse -c ‘bundle install --no-deployment --without test --without development --path vendor/bundle’
Importazione del database
mysql -uroot -p -e ‘CREATE DATABASE q2adb’
mysql -uroot -p q2adb \u003c q2a-old-db.sql
Ho esportato le seguenti variabili. Non avendo allegati, non ho esportato quella variabile specifica. Inoltre, non ho impostato una password per l’utente root.
\u003e export DB_NAME=“q2adb”
\u003e export DB_USER=“root”
\u003e export DB_PW=“”
\u003e export TABLE_PREFIX=“qa_”
\u003e export TIMEZONE=“America/Los_Angeles”
\u003e
\u003e cd /var/www/discourse
\u003e su discourse -c ‘bundle exec ruby script/import_scripts/question2answer.rb’
Questo è l’errore che ricevo dopo aver eseguito il comando seguente.
/var/www/discourse# su discourse -c ‘bundle exec ruby script/import_scripts/question2answer.rb’
root:@localhost richiede q2adb
Caricamento dei gruppi esistenti…
Caricamento degli utenti esistenti…
Caricamento delle categorie esistenti…
Caricamento dei post esistenti…
Caricamento degli argomenti esistenti…
Accesso negato per l’utente ‘root’@‘localhost’
Impossibile connettersi al database.
Ho provato a impostare l’Hostname su localhost, ‘127.0.0.1’, ip-171-22-11-150 (questo è mostrato come hostname quando eseguo il comando > hostname) e con l’indirizzo IP effettivo del server.
Ho anche impostato la password per l’utente root. Vedo che le tabelle nel database sono state importate correttamente da q2a.
Non sono sicuro riguardo al TABLE_PREFIX qui. Ma tutti i nomi delle tabelle iniziano con vb5. nella mia installazione predefinita, quindi immagino che dovrebbe andare bene (ho anche provato a lasciarlo vuoto).
Tuttavia, il problema principale è che non riesco a connettermi al database MariaDB con l’utente discourse:
su discourse -c 'bundle exec ruby script/import_scripts/vbulletin5.rb'
Caricamento gruppi esistenti...
Caricamento utenti esistenti...
Caricamento categorie esistenti...
Caricamento post esistenti...
Caricamento argomenti esistenti...
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': Accesso negato per l'utente 'root'@'localhost' (Mysql2::Error)
su discourse
mysqlcheck -c vb5 -u root -p
Inserisci password: #password1234
mysqlcheck: Errore: 1698: Accesso negato per l'utente 'root'@'localhost' durante il tentativo di connessione