$gateway.open("target.server", 3306) do |port|
е по-еквивалентен на, в този случай,
ssh -L #{port}:target.server:3306 -N [email protected]
което може много да се провали, ако вашият mysql сървър слуша само 127.0.0.1 (или на вътрешен IP адрес, или със защитна стена, за да позволява връзки само през вътрешни мрежи, всички от които са разумни и нормални конфигурации).
Вероятно искате:
$gateway.open("127.0.0.1", 3306) do |port|
вместо в този случай.