Spostamento dei dati da un tablespace condiviso a un tablespace file per tabella in un DBMS MySQL e MariaDB

Espandi tutto | Comprimi tutto

Per i DBMS MySQL e MariaDB, è possibile archiviare i dati nei seguenti modi:

L'utilizzo di un tablespace condiviso aumenta il rischio di frammentazione del tablespace. Poiché non è possibile eseguire un'operazione SHRINK, un file in un tablespace condiviso potrebbe occupare circa il 90% dello spazio su disco. Ciò influisce negativamente sulle prestazioni del sottosistema del disco. Pertanto, è utile optare per un tablespace file per tabella.

Questo articolo descrive come spostare i dati da un tablespace condiviso a un tablespace file per tabella. Se i DBMS MySQL o MariaDB vengono utilizzati anche da altre applicazioni, è necessario spostare i database di queste applicazioni nel tablespace file per tabella.

È consigliabile eseguire questa procedura solo se si utilizzano DBMS MySQL o MariaDB per Administration Server.
Lo spostamento dei dati da un tablespace condiviso a un tablespace file per tabella può aumentare il carico sul sottosistema del disco.

Prerequisiti

Prima di iniziare, assicurarsi che:

Lo spazio su disco richiesto corrisponde al 150% della dimensione totale corrente dei database (dimensione corrente del file ibdata1).

Processo

Per spostare i dati da un tablespace condiviso a un tablespace file per tabella:

  1. Arrestare il servizio Kaspersky Security Center Administration Server e le altre applicazioni che utilizzano l'istanza del DBMS per cui si desidera eseguire questa procedura.
  2. In base alla versione del DBMS, accedere al DBMS come utente con privilegi avanzati, quindi eseguire lo script fix_tablespace.sql in qualsiasi applicazione utile.

    È possibile visualizzare gli script fix_tablespace.sql facendo clic su questi collegamenti:

    Visualizzare lo script per MySQL 5.7 e MariaDB 10.1+

    Visualizzare lo script per MySQL 8.0+

    Non è necessario arrestare l'esecuzione dello script.
    Se non si sono verificati errori del DBMS, ma l'esecuzione dello script è stata terminata, eseguire nuovamente lo script o interrompere l'esecuzione dei passaggi di questa procedura, riavviare il servizio DBMS e ripristinare i dati di Administration Server dal backup.

  3. Nella sezione [mysqld] del file my.cnf, impostare il parametro innodb_file_per_table su 1.
  4. Riavviare il servizio MySQL o MariaDB.
  5. Riavviare il servizio Kaspersky Security Center Administration Server.

I dati vengono spostati da un tablespace condiviso a un tablespace file per tabella.

Inizio pagina