Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Deck of Cards
idmysql
Card
labelCase 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.

Painel
Mysql <
Deck of Cards
idcase
Card
label
MySQL em versão anterior a 8.0
Bloco de código
titleLinux: my.cnf / Windows: my.ini
lower_case_table_names=1
Card
labelMysql 8.0

No Linux e MySQL 8.0 siga os passos abaixo:

Nota
titleAtenção!

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

  1. Pare o serviço do

mysql
  1. MySQL.

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

    Bloco de código
    mv /var/lib/mysql /tmp/mysql


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

    Bloco de código
    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].

    Bloco de código
    lower_case_table_names=1
  5. Inicialize o

mysql
  1. MySQL usando o seguinte comando.

    Bloco de código
    mysqld --defaults-file=/etc/mysql/my.cnf --initialize lower_case_table_names=1 --user=mysql --console
  2. Repetir (Opcional)

    Bloco de código
    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


  3. Inicie o serviço do

mysql
  1. MySQL.

    Bloco de código
    sudo service mysql start
  2. Conecte no banco usando o comando:

    Bloco de código
    mysql -u root -p
e
  1. E execute esta consulta:

    Bloco de código
    SHOW VARIABLES where Variable_name like 'lower%';

    O resultado deve ser:

    Bloco de código
    'lower_case_table_names', '1'
  2. Restaure os esquemas usando o dump

criando
  1. criado antes das etapas.

  2. Execute mysql_upgrade para criar o esquema sys.




Card
labelEngines


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: 

Bloco de código
languagesql
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:

Bloco de código
titleLinux: my.cnf / Windows: my.ini
default_storage_engine=InnoDB
Card
labelMemó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:

Bloco de código
titleLinux: 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.


Card
labelCriaçã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:

Bloco de código
titleLinux: my.cnf / Windows: my.ini
innodb_log_file_size=512M
innodb_log_buffer_size=800M
innodb_strict_mode=0
Card
labelConfirmar 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.

Bloco de código
languagesql
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:

Bloco de código
languagesql
SHOW ENGINES\G

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

Nota
titleAtençã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:

...

Informações

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. 

...

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

Aviso
titleAtençã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.

...