Árvore de páginas

Versões comparadas

Chave

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

...

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

Aviso
titleIMPORTANTE

A atualização para versão MySQL 8.0, ou seja, quando já existe um banco criado em versões anteriores, é um processo complexo que envolve diversas configurações e requer muita atenção.

Recomendamos consultar um especialista em banco de dados para executar esses procedimentos devido a complexidade das configurações.

Contudo, listamos alguns materiais de apoio que indicamos a leitura antes de prosseguir com a atualização:

https://dev.mysql.com/doc/refman/8.0/en/upgrading.html

https://dev.mysql.com/blog-archive/inplace-upgrade-from-mysql-5-7-to-mysql-8-0/


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.

...

é OBRIGATÓRIO realizar essa configuração na instalação do servidor MySQL, alterando a variável lower_case_table_names

=1
  • Inicialize o MySQL usando o seguinte comando.

  • Painel
    titleMySQL 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. A variável lower_case_table_namesjá vem configurada por padrão com o valor 1.


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

    Nota
    titleAtenção!

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

  • Pare o serviço do MySQL.

    Bloco de código
    sudo service mysql stop
  • 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

    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

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

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

    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

  • Inicie o serviço do MySQL.

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

    Bloco de código
    mysql -u root -p

    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'
  • Restaure os esquemas usando o dump criado antes das etapas.

  • para o valor 1.

    Por se tratar de uma variável de sistema, que não pode ser alterada posteriormente, é muito importante configurá-la corretamente na instalação.


    Para mais informações sobre o uso e configuração do case sensitive no MySQL 8.0, consulte aqui

    Execute mysql_upgrade para criar o esquema sys

    .

    Engines

    ...

    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

    ...

    Painel
    titleMySQL na versão 8.0
    Bloco de código
    languagesql
    CREATE DATABASE nome_do_banco CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    Aviso
    titleATENÇÃO

    : A partir da versão 8.0 o charset utf8 e collate utf8_general_ci estão descontinuados e em breve não poderão ser mais utilizados.

    Caso esteja migrando para a versão 8.0, ou seja, já tenha um banco criado com o charset utf8 e collate utf8_general_ci, é necessário planejar a conversão do banco e tabelas para o charset utf8mb4 e collate utf8mb4_general_ci.

    Recomendamos consultar um especialista em banco de dados para executar esses procedimentos. Existem ferramentas que realizam essa conversão e também comandos SQL que podem ser executados manualmente em seu banco de dados.

    ...