Your transistor needs to deliver at least the current the relay coil will draw.
Compute relay coil current using ohms law V=IR. re-arrange, I = V/R = 5/125 = 40 mA. Just about any transistor with a minimum current gain (Hfe) of, say, 30 will work. which is to say just about any transistor. 2n3904, 2n2222. sot23 variants are mmbt3904, mmbt2222 and so on. (Note: I am ignoring the collector to emitter voltage drop. It doesn't matter in this case but you would subract that from the voltage value used - typically .7V)
Compute base current needs. Collector current = 40 mA = Hfe * Base_current. rearrange, substitute: Base_current = 40mA/30 = 1.33 mA
Compute base resistor using ohms law. V = IR. Voh = .00133 * R. rearrange R = Voh/.00133. Voh is your logic's output voltage high (i.e. output pin high). Lets call it 4.5V for argument's sake. R = 4.5/.00133 = 3383. closest standard 5% value is 3.3K but you could probably go a lot lower. A 1K based resistor would give you 4.5 mA which is probably well within the current limits of your logic. It is ok if your transistor is set up to deliver more current that your relay needs since the relay's coil resistance will limit the current anyway.
using 47K from your posting, your transistor is delivering something less than 10mA. Much to low current. Just try relacing the 47K resistor with a 3.3K or smaller resistor.
do you have back EMF supression diode in place?
phil