Sjachov werd geboren in Zaporozje, het huidige Zaporizja en begon zijn voetbalcarrière daar bij de plaatselijke club Metalloerg. Na een verblijf bij SKA Odessa in 1982 keerde hij terug naar huis en speelde nog tot 1986 voor Metalloerg. Van 1987 tot 1989 speelde hij voor Dnjepr Dnjepropetrovsk, waarmee hij in 1988 de landstitel won en ook twee keer vicekampioen werd. In 1988 werd hij ook samen met Aleksandr Borodjoek topschutter van de competitie met zestien doelpunten. In 1989 won hij ook nog de beker met Dnjepr. Hij speelde zeven Europese wedstrijden met de club. In 1989 trok hij kort naar het Duitse Kaiserslautern, maar kon daar niet doorbreken en ging terug naar de Sovjet-Unie. Zijn laatste jaren van zijn spelerscarrière bracht hij in Israël door, waar hij in 1996 speler-trainer was. In 2005 werd hij opnieuw assistent-trainer voor enkele jaren.