Estoy importando un sitio de question2answer y seguí los pasos a continuación. El script no puede conectarse a la base de datos. Por favor, alguien ayúdeme con esto.
Después de finalizar la instalación de MariaDB, verifiqué su estado y lo inicié:
\u003e sudo service mysql status
\u003e sudo service mysql start
Instalé las dependencias
\u003e echo “gem ‘mysql2’, require: false” >> /var/www/discourse/Gemfile
\u003e echo “gem ‘php_serialize’, require: false” >> /var/www/discourse/Gemfile
\u003e cd /var/www/discourse
\u003e su discourse -c ‘bundle install --no-deployment --without test --without development --path vendor/bundle’
Importé la base de datos
mysql -uroot -p -e ‘CREATE DATABASE q2adb’
mysql -uroot -p q2adb < q2a-old-db.sql
Exporté las siguientes variables; no tengo ningún archivo adjunto, por lo que no exporté esa variable. Tampoco establecí contraseña para el usuario 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’
Este es el error que obtengo ahora después de ejecutar el siguiente comando.
/var/www/discourse# su discourse -c ‘bundle exec ruby script/import_scripts/question2answer.rb’
root:@localhost desea q2adb
Cargando grupos existentes…
Cargando usuarios existentes…
Cargando categorías existentes…
Cargando publicaciones existentes…
Cargando temas existentes…
Acceso denegado para el usuario ‘root’@‘localhost’
No se puede conectar a la base de datos.
Nombre de host: localhost
Nombre de usuario: root
Contraseña:
Base de datos: q2adb
Edite el script o establezca estas variables de entorno:
He intentado configurar el nombre de host como localhost, ‘127.0.0.1’, ip-171-22-11-150 (este es el nombre de host que se muestra al ejecutar el comando >hostname) y con la dirección IP real del servidor.
También he establecido una contraseña para el usuario root. Veo que las tablas de la base de datos se importaron correctamente desde q2a.
La forma tradicional de incentivar a las personas a brindarte ayuda adicional es pagar dinero por ello; podrías publicar en Marketplace con un presupuesto.
No estoy seguro del TABLE_PREFIX aquí. Pero todos los nombres de tablas comienzan con vb5. en mi instalación predeterminada, así que supongo que esto debería estar bien (también probé dejarlo vacío).
Pero el problema principal es que no puedo conectarme a la base de datos MariaDB con el usuario discourse:
su discourse -c 'bundle exec ruby script/import_scripts/vbulletin5.rb'
Cargando grupos existentes...
Cargando usuarios existentes...
Cargando categorías existentes...
Cargando publicaciones existentes...
Cargando temas existentes...
Traceback (última llamada desde):
5: desde script/import_scripts/vbulletin5.rb:632:in `<main>'
4: desde script/import_scripts/vbulletin5.rb:632:in `new'
3: desde script/import_scripts/vbulletin5.rb:27:in `initialize'
2: desde script/import_scripts/vbulletin5.rb:27:in `new'
1: desde /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': Acceso denegado para el usuario 'root'@'localhost' (Mysql2::Error)
su discourse
mysqlcheck -c vb5 -u root -p
Ingrese contraseña: #password1234
mysqlcheck: Error obtenido: 1698: Acceso denegado para el usuario 'root'@'localhost' al intentar conectarse