There is not much to it. the tar command piped into any compression program of your choice.
For speed, rather than using gzip, you can use pigz (to employ more processors / processor cores), or pbzip2 which is slower but compresses more
cd to the directory where your folder is in
then
tar -c mysql | pbzip2 -vc > /hds/dbdirzip.tar.bz2
for more compression
tar -c mysql | pbzip2 -vc -9 > /hds/dbdirzip.tar.bz2
for more compression and to limit CPUs to 6 instead of 8, or 3 instead of 4, or whatever you want to use, since the default is to use all cores
tar -c mysql | pbzip2 -vc -9 -p6 > /hds/dbdirzip.tar.bz2
tar cvf – mysql | pigz -9 > /hds/dbdirzip.tar.gz
Or to limit the number of processors to 6 for example
tar cvf – mysql | pigz -9 -p6 > /hds/dbdirzip.tar.gz
Now, if you want to compress a single file to a different directory
pbzip2 -cz somefile > /another/directory/compressed.bz2
With -I you can specify a custom command to compress
tar -Ipigz -cf mysql.tar.gz mysql