SDB:Cambiare varianti di MySQL

Provato su openSUSE Articoli consigliati Articoli correlati
Icon-checked.png

Icon-manual.png Icon-help.png

A partire da openSUSE 11.3, sono disponibili più pacchetti nella distribuzione che forniscono client e server MySQL. A volte, gli utenti potrebbero voler passare da una di queste versione ad un'altra, oppure passare a una versione più recente. Nel secondo caso il repository server:database dall'openSUSE Build Service può essere utile.

Varianti disponibili

Le seguenti varianti di MySQL sono disponibili nella versione corrente di openSUSE (a partire da openSUSE 11.3) e nel repository server:database.

MariaDB

MariaDB è un ramo di MySQL mantenuto dalla comunità in collaborazione con il Programma Monty. Questa versione incorpora molti miglioramenti introdotti dalla comunità e più motori di archiviazione opensource. La lista delle differenze si può trovare sul sito ufficiale.

Nome pacchetto: mariadb

MySQL Community Server

MySQL come rilasciato da Oracle. MySQL Community Server è una delle varianti di MySQL rilasciate da Oracle. Paragonata alla versione enterprise closed source manca di alcune funzionalità.

Nome pacchetto: mysql-community-server

Versioni instabili

Se non sei soddisfatto con queste versioni, puoi usare le versioni in fase di sviluppo. Si trovano nello stesso repository, solo con un nome differente. Ma cambiare versione è facile come passare da MySQL a MariaDB. Le versioni più recenti (a volte anche meno recenti) sono denominate aggiungendo il suffisso "_versione" al nome del pacchetto. Quindi, ad esempio, se vuoi MariaDB 10.0.x, avrai bisogno del pacchetti mariadb_100.

Procedura

Puoi passare da una versione all'altra semplicemente usando il gestore dei pacchetti. Sebbene nella maggior parte dei casi tutto dovrebbe funzionare bene, è sempre una buona idea effettuare il backup dei tuoi dati prima di procedere. Fatto ciò, semplicemente scegli la variante che vuoi in base al nome indicato sopra e installala. Il gestore dei pacchetti provvederà a fare il resto, controllando se il pacchetto entra in conflitto con altri. In quest'ultimo caso verrà richiesto di scegliere, se si vuole disinstallare la versione corrente e installare quella nuova, o mantenere tutto com'era prima.

Esempio

Ammettiamo che hai installato MySQL Community Server e vuoi provare MariaDB. Usando Zypper da un terminale a riga di comando si avrà un comportamento di questo genere:

# zypper in mariadb
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: mysql-community-server-5.1.46-2.14.x86_64 conflicts with namespace:otherproviders(mysql) provided by mariadb-5.1.44-2.9.x86_64
 Solution 1: deinstallation of mysql-community-server-5.1.46-2.14.x86_64
 Solution 2: do not install mariadb-5.1.44-2.9.x86_64

Choose from above solutions by number or cancel [1/2/c] (c): 1
Resolving dependencies...
Resolving package dependencies...

The following NEW packages are going to be installed:
  libmariadbclient16 libmariadbclient_r16 mariadb mariadb-client
The following packages are going to be REMOVED:
  mysql-community-server mysql-community-server-client

4 new packages to install, 2 to remove.
Overall download size: 5.2 MiB. After the operation, 4.1 MiB will be freed.
Continue? [y/n/?] (y): y
Removing mysql-community-server-5.1.46-2.14 [done]
Additional rpm output:
Shutting down service MySQL ..done


Removing mysql-community-server-client-5.1.46-2.9 [done]
Retrieving package libmariadbclient_r16-5.1.44-2.9.x86_64 (1/4), 479.0 KiB (1.5 MiB unpacked)
Retrieving: libmariadbclient_r16-5.1.44-2.9.x86_64.rpm [done (267.8 KiB/s)]
Installing: libmariadbclient_r16-5.1.44-2.9 [done]
Retrieving package libmariadbclient16-5.1.44-2.9.x86_64 (2/4), 475.0 KiB (1.5 MiB unpacked)
Retrieving: libmariadbclient16-5.1.44-2.9.x86_64.rpm [done] 
Installing: libmariadbclient16-5.1.44-2.9 [done]
Retrieving package mariadb-client-5.1.44-2.9.x86_64 (3/4), 154.0 KiB (375.0 KiB unpacked)
Retrieving: mariadb-client-5.1.44-2.9.x86_64.rpm [done] 
Installing: mariadb-client-5.1.44-2.9 [done]
Retrieving package mariadb-5.1.44-2.9.x86_64 (4/4), 4.1 MiB (21.5 MiB unpacked)
Retrieving: mariadb-5.1.44-2.9.x86_64.rpm [done (5.3 MiB/s)]
Installing: mariadb-5.1.44-2.9 [done]

Possibili problemi

Nomi differenti dei plugin

Un problema che potrebbe capitare è che il nome di un plugin è cambiato. Quindi se un motore di storage non può essere caricato, controlla che stai provando a caricare il plugin esatto.

Configurazione perduta

Mentre cambi da differenti varianti di MySQL, il tuo file di configurazione /etc/my.cnf potrebbe essere sovrascritto. Solitamente una copia di backup viene salvata come /etc/my.cnf. Quindi se i tuoi dati non sono disponibili dopo il cambiamento, non farti prendere dal panico e dai un'occhiata al file di backup.

Motori di archiviazione non supportati

Potrebbe capitare che il tuo vecchio motore di archiviazione non è più supportato dalle nuove/differenti versioni di MySQL. Quindi è sempre una buona idea effettuare il backup, usando per esempio mysqldump. In questo modo, si avrà una rappresentazione testuale dei propri dati che potranno essere ricaricati una volta cambiato motore di archiviazione.