Come passare da una versione di MariaDB installata all'altra
Contents
- Impedire a un MySQL/MariaDB pre-installato di interferire con i test
- Come creare una distribuzione binaria (file tar)
- Creare un albero di directory per le differenti installazioni
- Impostare la directory dei dati
- Running a MariaDB server
- Setting up a .my.cnf file for running multiple MariaDB main versions
Questo articolo spiega come gestire diverse versioni di MariaDB installare, che funzionano una alla volta. Ciò è particolarmente utile se si esegue un benchmark o dei test, oppue per sviluppare su diverse versioni di MariaDB.
Si pul fare facilmente utilizzando i file tar scaricabili da downloads.askmonty.org.
Impedire a un MySQL/MariaDB pre-installato di interferire con i test
Se MySQL/MariaDB è già installato ed è in esecuzione, si hanno due opzioni:
- Utilizzare dei server MariaDB di prova, con porte e socket differenti.
- In questo caso, potrebbe essere una buona idea creare una sezione per MariaDB nel file
~/.my.cnf
.
- In questo caso, potrebbe essere una buona idea creare una sezione per MariaDB nel file
- Arrestare mysqld con
/etc/rc.d/mysql stop
omysqladmin shutdown
. Si noti che non è necessario disinstallare o rimuovere MySQL!
Come creare una distribuzione binaria (file tar)
Ecco una breve descrizione di come generare un file tar da una distribuzione sorgente. Se si ha già scaricato scaricato un file binario, si può saltare questa sezione.
Ecco i passaggi per creare un tar binario:
- Decidere dove mettere i sorgenti. Un buon posto è sotto
/usr/local/src/mariadb-5.#
. - Ottenere i sorgenti.
- Compilare i sorgenti.
- Creare il tarball.
Questo potrebbe avere un nome simile al seguente: mariadb-5.3.2-MariaDB-beta-linux-x86_64.tar.gz
Creare un albero di directory per le differenti installazioni
Si possono installare i file tar binari sotto /usr/local/
con i nomi seguenti:
mariadb-5.1
mariadb-5.2
mariadb-5.3
L'esempio sopra riportato presume che si desideri testare solo le versioni principali di MariaDB. Se si vuole testare le versioni minori, si utilizzino nomi come mariadb-5.3.2
Dopo le directory, si crei un sym-link chiamato mariadb
che punta alla directory mariadb-XXX
che si sta testando. Quando si vorrà passare a un'altra versione, si potrà aggiornare semplicemente il sym-link.
Esempio:
cd /usr/local tar xfz /tmp/mariadb-5.3.2-MariaDB-beta-linux-x86_64.tar.gz mv -vi mariadb-5.3.2-MariaDB-beta-linux-x86_64 mariadb-5.3 ln -vs mariadb-5.3 mariadb
Impostare la directory dei dati
Nell'impostare la directory dei dati, si può scegliere se utilizzare un'unica directory per i database, o crearne una per ogni versione del server. Per i test, probabilmente una directory comune è l'opzione più semplice. Si noti che il server mysqld
può utilizzare un'unica directory dei dati.
Impostare una directory comune
I passaggi sono:
- Creare l'utente di sistema per
mysql
, se non c'è ancora. (Su Linux si usa il comandouseradd
). - Creare la directory (la chiameremo
mariadb-data
negli esempi seguenti) o si aggiunga un symlink verso una directory che si trova altrove. - Creare le tabelle dei permessi di
mysql
utilizzandomysql_install_db
cd /usr/local/ mkdir mariadb-data cd mariadb ./bin/mysql_install_db --no-defaults --datadir=/usr/local/mariadb-data chown -R mysql mariadb-data mariadb-data/*
Si utilizza --no-defaults
per assicurarsi di non ereditare opzioni non corrette da qualche vecchio file my.cnf.
Setting up different data directories
To create a different data
directories for each installation:
cd mariadb ./bin/mysql_install_db --no-defaults chown -R mysql mariadb-data mariadb-data/*
This will create a directory data
inside the
current directory.
If you want to use another disk you should do:
cd mariadb ln -s path-to-empty-directory-for-data data ./bin/mysql_install_db --no-defaults --datadir=./data chown -R mysql mariadb-data mariadb-data/*
Running a MariaDB server
The normal steps are:
rm mariadb ln -s mariadb-5.# mariadb cd mariadb ./bin/mysqld_safe --no-defaults --datadir=/usr/local/mariadb-data &
Setting up a .my.cnf file for running multiple MariaDB main versions
If you are going to start/stop MariaDB a lot of times, you should create
a ~/.my.cnf
file for the common options you are using.
The following example shows how to use a non-standard TCP-port and socket (to not interfere with a main MySQL/MariaDB server) and how to setup different options for each main server:
[client] socket=/tmp/mysql.sock port=3306 [mysqld] socket=/tmp/mysql.sock port=3306 datadir=/usr/local/mariadb-data [mariadb-5.2] # Options for MariaDB 5.2 [mariadb-5.3] # Options for MariaDB 5.3
If you create an ~/.my.cnf
file, you should start
mysqld
with --defaults-file=~/.my.cnf
instead of --no-defaults
in the examples above.