MySQL: Dump all Databases + gzip

First retreive a list of all databases:

# databases="$(mysql -Bse 'show databases')"

Now loop this list/items and dump the current database, pipe the resulting sql commands directly into gzip for compression, put the result onto disk:

# for db in $databases
  do
      mysqldump $db | /usr/bin/gzip -9 > ${db}.sql.gz
  done