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.


Configuração do MySQL

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

Caso necessário disponibilizar a senha do banco de dados em algum arquivo de instalaçã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.


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.


lower_case_table_names=1

No Linux e MySQL 8.0 siga os passos abaixo:

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 /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

    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

    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 criando antes das etapas.

  10. Execute mysql_upgrade para criar o esquema sys.



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:

default_storage_engine=InnoDB


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:

innodb_buffer_pool_size=<valor em bytes>


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



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:

innodb_log_file_size=512M
innodb_log_buffer_size=800M
innodb_strict_mode=0


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.

  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.


  1. 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.


  1. 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;

    O driver do MySQL deve estar na mesma versão que o do banco do fluig (5.x).

  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.


  1. Otimizando a performance do banco de dados MySQL

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.