# Migração SMF2 para Discourse: Problema

**URL:** https://meta.discourse.org/t/smf2-to-discourse-migration-issue/196837
**Category:** Migration
**Tags:** smf
**Created:** [12 Julho , 2021 09:28 UTC](https://meta.discourse.org/t/smf2-to-discourse-migration-issue/196837 "2021-07-12T09:28:54Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![JustinZ](https://avatars.discourse-cdn.com/v4/letter/j/e68b1a/32.png) [@JustinZ](https://meta.discourse.org/u/JustinZ)
#### Post date: [12 Julho , 2021 09:28 UTC](https://meta.discourse.org/t/smf2-to-discourse-migration-issue/196837/1 "2021-07-12T09:28:55Z")

</div>

Segui os guias e cheguei até aqui, mas não consigo avançar além deste ponto. Até criei um novo usuário no servidor MySQL com uma senha nativa e tentei, mas sem sucesso.

```plaintext
su discourse -c "bundle exec ruby script/import_scripts/smf2.rb /shared/smf2 -t UTC"
Carregando grupos existentes...
Carregando usuários existentes...
Carregando categorias existentes...
Carregando posts existentes...
Carregando tópicos existentes...
Traceback (última chamada do erro):
        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': Criptografia RSA não suportada - o plugin caching_sha2_password foi compilado com suporte ao GnuTLS (Mysql2::Error)

```

---

<div class="post-metadata">

### Author: ![JustinZ](https://avatars.discourse-cdn.com/v4/letter/j/e68b1a/32.png) [@JustinZ](https://meta.discourse.org/u/JustinZ)
#### Post date: [12 Julho , 2021 11:02 UTC](https://meta.discourse.org/t/smf2-to-discourse-migration-issue/196837/2 "2021-07-12T11:02:16Z")

</div>

Isso parece ser um problema com o script, pois consigo instalar o cliente do MySQL no contêiner e acessar o banco de dados no contêiner do MySQL via linha de comando.

---

<div class="post-metadata">

### Author: ![JustinZ](https://avatars.discourse-cdn.com/v4/letter/j/e68b1a/32.png) [@JustinZ](https://meta.discourse.org/u/JustinZ)
#### Post date: [12 Julho , 2021 12:08 UTC](https://meta.discourse.org/t/smf2-to-discourse-migration-issue/196837/3 "2021-07-12T12:08:06Z")

</div>

OK. Então, para aqueles que se depararem com isso, precisei fazer bastante ajuste para fazer este script de importação funcionar.

O contêiner Docker do MySQL é a versão 8.

Isso significa que, por algum motivo, a biblioteca MariaDB que o modelo do MySQL incorpora não funciona.

O que fiz de diferente em relação a [https://meta.discourse.org/t/smf2-to-discourse-the-ultimate-guide/90314:](https://meta.discourse.org/t/smf2-to-discourse-the-ultimate-guide/90314:)

Não incluí o arquivo de modelo do MySQL no arquivo de configuração do contêiner de importação.

Construí o contêiner de importação, entrei nele com ./launcher enter import

Então:

```plaintext
echo "gem 'mysql2'" >> Gemfile
wget https://dev.mysql.com/get/mysql-apt-config_0.8.17-1_all.deb
dpkg -i mysql-apt-config_0.8.17-1_all.deb

```

Isso apresenta uma solicitação interativa e você pode selecionar as opções padrão (MySQL 8 com ferramentas).

Depois, instalei a biblioteca MySQL 8 padrão e continuei a construção:

```plaintext
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'

```

Uma vez que tudo isso foi concluído, o restante foi o mesmo; a importação agora está em execução.

Os desenvolvedores do Discourse podem querer ajustar os scripts de importação para levar isso em consideração. Pelo menos, agora está nos fóruns para que outros vejam caso fiquem presos como eu.
