Skip to end of metadata
Go to start of metadata

Atenção

Esta página é destina para atualizações 1.6 e superiores do fluig.

Caso possua uma atualização anterior do fluig acesse: Como configurar o banco de dados MySQL na release 1.5.13 ou inferior?

Índice


Versões homologadas do MySQL


Para verificar as versões homologadas do MySQL acesse a Matriz de Portabilidade.


Passo a passo para configuração do MySQL


As configurações apresentadas abaixo devem ser realizadas antes da criação do banco de dados do fluig.

Atenção!

Por questões de segurança é altamente recomendável efetuar a encriptação da senha conforme o procedimento informado na documentação encriptação de senha do banco de dados.


Parâmetro de conexão


Nessa etapa, é realizada uma configuração específica para a versão do MySQL 8.0. Para as demais versões do MySQL permanece o que foi configurado por padrão.

Caso a configuração seja para a versão MySQL 8.0, é necessário alterar o parâmetro de conexão do arquivo domain.xml. Para isso, acesse o diretório \appserver\domain\configuration e localize as tags <connection-url>. O parâmetro dessa tag deve ser alterado de: ?useSSL=false para ?allowPublicKeyRetrieval=true&amp;useSSL=false


Case sensitive


Por padrão, aliases de tabelas são case sensitive no Unix, mas não são no Windows. Para evitar problemas causados por esta característica, no MySQL é necessário adicionar a variável de sistema lower_case_table_names no arquivo de configuração do MySQL.

MySQL em versões anteriores a 8.0

Se você utiliza o banco de dados MySQL em versões anteriores a 8.0, basta incluir essa variável no arquivo my.ini (Windows) ou my.cnf (Linux).

lower_case_table_names=1

MySQL na versão 8.0

Se você utiliza o banco de dados MySQL na versão 8.0, no Windows você não precisa efetuar nenhuma configuração.

No Linux, você precisa efetuar a configuração conforme os passos abaixo:

Atenção!

Faça o backup dos esquemas existentes antes de executar as etapas a seguir.

  1. Pare o serviço do MySQL.

    sudo service mysql stop
  2. Mova ou remova o diretório /var/lib/mysql. Isso excluirá todos os bancos de dados!

    mv /var/lib/mysql /tmp/mysql


  3. Crie um novo diretório /var/lib/mysql e torne o usuário mysql como proprietário.

    mkdir /var/lib/mysql
    chown -R mysql:mysql /var/lib/mysql
    chmod 750 /var/lib/mysql


  4. Edite o arquivo /etc/mysql/mysql.conf.d/mysqld.cnf e adicione a seguinte linha após [mysqld].

    lower_case_table_names=1
  5. Inicialize o MySQL usando o seguinte comando.

    mysqld --defaults-file=/etc/mysql/my.cnf --initialize lower_case_table_names=1 --user=mysql --console
  6. Repetir (Opcional)

    chown -R mysql:mysql /var/lib/mysql
    chmod 750 /var/lib/mysql

    “se o dono dos arquivos em /var/lib/mysql não for o mysql


  7. Inicie o serviço do MySQL.

    sudo service mysql start
  8. Conecte no banco usando o comando:

    mysql -u root -p

    E execute esta consulta:

    SHOW VARIABLES where Variable_name like 'lower%';

    O resultado deve ser:

    'lower_case_table_names', '1'
  9. Restaure os esquemas usando o dump criado antes das etapas.

  10. Execute mysql_upgrade para criar o esquema sys.

Engines


Além disso é necessário confirmar que as tabelas serão criadas corretamente no banco de dados. Para isso, no Command Line Client do MySQL verifique a engine utilizada informando o comando: 

SHOW ENGINES\G

Localize a engine InnoDB, conforme a imagem abaixo:

Se a engine InnoDB não for apresentada como Default, o parâmetro default_storage_engine também deve ser adicionado ao arquivo, conforme segue:

Linux: my.cnf / Windows: my.ini
default_storage_engine=InnoDB

Memória


Também é possível definir a quantidade de memória a ser usada pelo MySQL. Em um servidor dedicado, a boa prática é alocar 75% da memória disponível para o banco de dados:

Linux: my.cnf / Windows: my.ini
innodb_buffer_pool_size=<valor em bytes>


  • Por exemplo, para alocar 128 MB de memória teríamos: innodb_buffer_pool_size=134217728.

Criação de tabelas


Caso sejam criados formulários com muitos campos, sendo a maioria deles do tipo TEXT, o MySQL pode restringir a criação de tabelas em que o tamanho somado dos campos ultrapasse o limite permitido. 

Recomendamos efetuar as seguintes configurações no banco de dados para solucionar essa restrição:

Linux: my.cnf / Windows: my.ini
innodb_log_file_size=512M
innodb_log_buffer_size=800M
innodb_strict_mode=0

Confirmar alterações


Após realizar as configurações expostas nos passos anteriores, é necessário reiniciar o MySQL e confirmar a aplicação das alterações.

Para verificar se a configuração case sensitive foi efetuada com sucesso, execute o comando SQL abaixo. Se no resultado a coluna value possuir o valor 1 a configuração está correta.

SHOW GLOBAL VARIABLES LIKE 'lower_case_table_names';

Confirme também a alteração do Engine para InnoDB, caso tenha adicionado o parâmetro default_storage_engine ao arquivo:

SHOW ENGINES\G

Se a engine InnoDB aparecer como Default a configuração foi aplicada com sucesso.


Atenção!

  1. Timezone: O banco de dados MySQL possui validação de timezone, sendo assim, para a instalação do fluig com MySQL, é necessário que o servidor onde está instalado o fluig tenha o timezone válido (reconhecido pelo MySQL).
  2. SSL: Se for necessário usar SSL, é preciso alterar o parâmetro useSSL para true. Esse parâmetro é encontrado na string de conexão dentro do arquivo domain.xml.


Criação do banco de dados com codificação UTF-8


O fluig necessita de uma base de dados com charset UTF-8, para criar o banco com esta característica utilize o seguinte comando SQL, substituindo "nome_do_banco" pelo nome do banco a ser criado:

CREATE DATABASE nome_do_banco CHARACTER SET utf8 COLLATE utf8_general_ci;

Não há um padrão para "nome_do_banco", cada cliente pode colocar o nome que desejar, por exemplo: fluig, fluig-homologacao ou minhaempresa.


Download do Driver


Para utilização do banco de dados MySQL, é necessário fazer o download do driver MySQL separadamente. 

Por isso, antes de iniciar a instalação do fluig, siga os passos a seguir:

  1. Faça o download do driver diretamente no site do MySQL;

    Fique atento!

    O driver do MySQL deve estar na mesma versão do banco MySQL que você tem instalado. Para saber quais são as versões homologadas acesse a Matriz de Portabilidade.

  2. No campo Select Platform acione a opção Platform Independent;
  3. Clique no botão Download ao lado da versão em arquivo ZIP;
  4. Clique em No thanks, just start my download e será iniciado o download de um arquivo chamado mysql-connector-java-xx.y.zz.zip, onde xx.y.zz é a versão atual do driver;
  5. Descompacte o arquivo baixado. Será criada uma pasta chamada mysql-connector-java-xx.y.zz;
  6. Nesta pasta há um arquivo chamado mysql-connector-java-xx.y.zz-bin.jar. Esse arquivo é o driver.

Durante a instalação do fluig, será necessário indicar o caminho onde o driver do MySQL foi armazenado.


Otimizando a performance do banco de dados MySQL


Atenção!

O Limite default do banco Mysql para campos tipo text, é de 195, dentro deste padrão são realizados todos os testes com formulários no fluig.

Não recomendamos a alteração do parâmetro innodb_log_file_size, para exportação de campos para o fluig, pois pode comprometer o desempenho da plataforma.

Quando trabalhamos com um volume elevado de dados e usuários, o banco de dados pode apresentar problemas de baixo desempenho. Um investimento em capacidade física dos servidores é sempre bom, porém há momentos que o tuning irá representar ganhos expressivos de performance.

Para mais informações sobre tunning e otimização de performance do MySQL consulte a documentação oficial disponível em MySQL Optimization.