Mushfiqur hit an unbeaten 219 to help Bangladesh declare their first innings at 522-7 an hour into the final session, before the hosts reduced Zimbabwe to 25 for one at stumps on the second day.
Taijul Islam removed Hamilton Masakadza for 14 after an edge flew to Mehidy Hasan at first slip for Bangladesh’s first breakthrough.
Masakadza was earlier spared when he was dropped at seven by Ariful Haque at first slip off the bowling of debutant Khaled Ahmed.
Brian Chari, 10 not out, and nightwatchman Donald Tiripano (naught) prevented further damage.
Zimbabwe, ahead in the two-match tournament 1-0, needs at least a draw to win their first Test series in seven years.
But it was Mushfiqur who shone, pulling leg-spinner Brendon Mavuta for a single at square leg after the tea break to become the first wicketkeeper-batsman ever to score two double tonnes in Test cricket.
Mushfiqur, who played 421 balls and hit 18 fours and a six, also surpassed Shakib al Hasan to become the highest individual scorer in an innings for Bangladesh in Test cricket.
Skipper Mahmudullah Riyad called the batsmen to the dressing room soon after Mushfiqur nudged Sean Williams for a single to pass Shakib’s 217 against New Zealand at Wellington in 2017.
Mushfiqur shared a record 144-run in their unbroken eighth wicket stand with Mehidy Hasan, after Kyle Jarvis took two scalps in the afternoon session to complete his third five-wicket haul in Tests.
Mushfiqur also had a hand in the previous eighth wicket record when he added 113 with Naeem Islam against England in 2010.
Jarvis, who claimed three wickets on the opening day, removed Mahmudullah for 36 and Ariful Haque for four but Mushfiqur and Mehidy denied the visitors further success.
Resuming on 303-5, Bangladesh began cautiously on day two, scoring just 22 runs in the first hour before Mushfiqur and Mahmudullah finally opened up.
Mushfiqur, who now has six Test centuries, took 56 balls to score his first boundary in the morning.
Zimbabwe suffered a blow when fast bowler Tendai Chatara was stretchered off after damaging his hamstring while delivering a ball in the morning.
Zimbabwe Cricket said Chatara had suffered a suspected quad muscle strain and was out of the match.
Zimbabwe won the opener by 151 runs in Sylhet, their first Test win in five years.
First Published: November 12, 2018, 5:29 PM IST