Affichage des articles dont le libellé est sandbox. Afficher tous les articles
Affichage des articles dont le libellé est sandbox. Afficher tous les articles

mardi 24 mars 2009

Vive le strip binaire !

Je pense que nous sommes nombreux à utiliser MySQL Sandbox qui est un outil très utile pour pouvoir par exemple tester rapidement une version particulière de MySQL, installer plusieurs versions sur le même serveur, configurer une réplication multi-slaves en quelques commandes etc...
Cependant, cela nécessite de récupérer une archive binaire pour chaque version que vous voulez utiliser, ce qui peut consommer rapidement pas mal d'espace !

Par exemple, j'ai récupéré la version 5.0.67 qui, sous forme d'archive, occupe 113Mo et une fois décompressée près de 398Mo ! Il était donc temps que je prenne quelques initiatives :-)

du -sh mysql-5.0.67-linux-i686.tar.gz
113M mysql-5.0.67-linux-i686.tar.gz

tar xzf mysql-5.0.67-linux-i686.tar.gz
du -sh mysql-5.0.67-linux-i686
398M mysql-5.0.67-linux-i686

Je commence par supprimer les répertoires qui me seront inutiles

rm -rf docs/ sql-bench/ mysql-test/ tests/ man/

Ceci me permet d'économiser 45Mo. Ensuite je strippe les binaires et les bibliothèques

strip bin/* lib/* 2>/dev/null

Et encore 242 Mo d'économisé !

Enfin, je supprime les binaires qui me seront inutiles

rm -f *debug* *test* *ndb*

Cette dernière étape me récupère encore 20Mo. A la fin de cette série d'actions, l'archive décompressée n'occupe plus que 68 Mo soit près de 6 fois moins que la taille de départ.

La question que vous devez vous poser est la suivante : que fait la commande strip ?

elle supprime tous les symbols et numéros de lignes des binaires et bibliothèques, qui peuvent être utiliseés lorsque vous debuggez vos programmes, ce qui n'est pas mon cas.
Blogged with the Flock Browser
Lire la suite...

vendredi 31 octobre 2008

Mysql Sandbox 2.0 - les slides

MySQL Sandbox est une boîte à outils permettant de configurer rapidement un serveur MySQL ou une replication MySQL quelque soit la version de MySQL que vous voulez tester. Pour cela, il suffit simplement de disposer des binaires MySQL de la version que vous voulez installer.

Un exemple rapide

Je suppose bien sûr que Mysql Sandbox 2.0 est installé dans /usr/local/mysql/mysql_sandbox_2.0.*

cd /usr/local/mysql
SITE="http://dev.mysql.com"
MPATH="get/Downloads/MySQL-5.1"
BINARY="mysql-5.1.29-rc-linux-i686-glibc23.tar.gz"
MIRROR="from/http://mir2.ovh.net/ftp.mysql.com/"
wget $SITE/$MPATH/$BINARY/$MIRROR
mkdir sandbox_dir
cd mysql_sandbox_2.0.*
export USER=mysql
./make_replication_sandbox --how_many_nodes=1 --upper_directory=/usr/local/mysql/sandbox_dir /usr/local/mysql/$BINARY

Et voilà, vous disposer d'une réplication MySQL entre un master et slave tous deux en version 5.1.26

Pour en savoir plus je vous conseil de lire les slides de Giuseppe Maxia qui peuvent vous servir de Bible.