Příkaz insert musí být odeslán do mysql, ne na jiný řádek v shell skriptu, takže z něj musíte udělat "dokument zde".
mysql --host=randomhost --user=randomuser --password=randompass randomdb << EOF
insert into table (field1,field2,field3) values('http://www.site.com/$hash','$file','$size');
EOF
<< EOF
znamená vzít vše před další řádek, který neobsahuje nic jiného než EOF
(bez mezer na začátku) jako standardní vstup do programu.