Ao importar database, ele mostra erro

Eu estava importando o database do meu site para outro servidor, mas está mostrando esse erro sobre o qual eu não tenho idéia:

Eu tentei importar o database várias vezes, mas falhou. Eu também verifiquei o campo “Adicionar tabela de queda” que vem ao exportar o arquivo de database, mas não fez nada.

Solutions Collecting From Web of "Ao importar database, ele mostra erro"

Esse problema é como resultado de seu servidor não suportar o tipo de intercalação utf8mb4_unicode_520_ci .

Para resolver isso, você deve converter o agrupamento para todas as tabelas com utf8mb4_unicode_520_ci para utf8_general_ci

Se você estiver exportando através do phpmyadmin, você pode:

  1. Clique na guia “Exportar” para o database

  2. Clique no botão de opção “Personalizado”

  3. Vá a seção intitulada “Opções específicas do formato” e altere o menu suspenso para “Sistema de database ou servidor MySQL mais antigo para maximizar a compatibilidade de saída com:” de NONE para MYSQL40.

  4. Desloque-se para a parte inferior e clique em “GO”.

Ou execute a seguinte consulta em cada uma das tabelas afetadas:

 ALTER TABLE myTable CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci 

UPDATE: Você também deve replace no seu arquivo exportado sql TYPE=MyISAM com ENGINE=MyISAM

Para alguns, o agrupamento utf8mb4_unicode_520_ci parece estranho, mas o WordPress usa esse agrupamento quando possível. Outras colações são o segundo melhor.

Observe esta linha:

// _unicode_520_ é um melhor agrupamento, devemos usar isso quando estiver disponível.

Alguns plugins criam tabelas de intercalação utf8mb4_unicode_520_ci independentemente do que.

 File: /var/www/html/test100.com/wp-includes/wp-db.php 761: /** 762: * Determines the best charset and collation to use given a charset and collation. 763: * 764: * For example, when able, utf8mb4 should be used instead of utf8. 765: * 766: * @since 4.6.0 767: * @access public 768: * 769: * @param string $charset The character set to check. 770: * @param string $collate The collation to check. 771: * @return array The most appropriate character set and collation to use. 772: */ 773: public function determine_charset( $charset, $collate ) { 774: if ( ( $this->use_mysqli && ! ( $this->dbh instanceof mysqli ) ) || empty( $this->dbh ) ) { 775: return compact( 'charset', 'collate' ); 776: } 777: 778: if ( 'utf8' === $charset && $this->has_cap( 'utf8mb4' ) ) { 779: $charset = 'utf8mb4'; 780: } 781: 782: if ( 'utf8mb4' === $charset && ! $this->has_cap( 'utf8mb4' ) ) { 783: $charset = 'utf8'; 784: $collate = str_replace( 'utf8mb4_', 'utf8_', $collate ); 785: } 786: 787: if ( 'utf8mb4' === $charset ) { 788: // _general_ is outdated, so we can upgrade it to _unicode_, instead. 789: if ( ! $collate || 'utf8_general_ci' === $collate ) { 790: $collate = 'utf8mb4_unicode_ci'; 791: } else { 792: $collate = str_replace( 'utf8_', 'utf8mb4_', $collate ); 793: } 794: } 795: 796: // _unicode_520_ is a better collation, we should use that when it's available. 797: if ( $this->has_cap( 'utf8mb4_520' ) && 'utf8mb4_unicode_ci' === $collate ) { 798: $collate = 'utf8mb4_unicode_520_ci'; 799: } 800: 801: return compact( 'charset', 'collate' ); 802: } 

O utf8mb4_unicode_520_ci (Unicode Collation Algorithm 5.2.0, outubro de 2010) é uma melhoria em relação a utf8mb4_unicode_ci (UCA 4.0.0, novembro de 2003).

Não há nenhuma palavra sobre quando o MySQL irá suportar UCAs posteriores.

O UFC mais recente é 9.0.0 http://www.unicode.org/reports/tr10/ , mas o MySQL não suporta isso.