Estou importando um site do Question2Answer e segui os passos abaixo. O script não consegue se conectar ao banco de dados. Alguém, por favor, me ajude com isso.
Após finalizar a instalação do MariaDB, verifiquei seu status e iniciei:
\u003e sudo service mysql status
\u003e sudo service mysql start
Instalei as dependências
\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’
Importei o banco de dados
mysql -uroot -p -e ‘CREATE DATABASE q2adb’
mysql -uroot -p q2adb \u003c q2a-old-db.sql
Exportei as variáveis abaixo. Não tenho anexos, então não exportei essa variável. Também não defini senha para o usuário 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 é o erro que estou recebendo agora após executar o comando abaixo.
Tentei definir o Hostname como localhost, ‘127.0.0.1’, ip-171-22-11-150 (este é o hostname exibido quando executo o comando >hostname) e o endereço IP real do servidor.
Também defini a senha para o usuário root. Vejo que as tabelas no banco de dados foram importadas corretamente a partir do q2a.
Não tenho certeza sobre o TABLE_PREFIX aqui. Mas todos os nomes de tabela começam com vb5. na minha instalação padrão — então imagino que isso deva estar correto (também tentei deixá-lo vazio).
Mas o principal problema é que não consigo me conectar ao banco de dados MariaDB com o usuário do Discourse:
su discourse -c 'bundle exec ruby script/import_scripts/vbulletin5.rb'
Carregando grupos existentes...
Carregando usuários existentes...
Carregando categorias existentes...
Carregando posts existentes...
Carregando tópicos existentes...
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': Acesso negado para o usuário 'root'@'localhost' (Mysql2::Error)
su discourse
mysqlcheck -c vb5 -u root -p
Digite a senha: #password1234
mysqlcheck: Erro obtido: 1698: Acesso negado para o usuário 'root'@'localhost' ao tentar conectar