Mackinnon was born in Strath, Isle of Skye, Scotland. He studied medicine at the University of Glasgow and University of Edinburgh, graduating from Edinburgh in 1851 and receiving an FRCS qualification in 1873. In 1853, he enlisted to the 42nd Regiment of Foot as assistant-surgeon and took part in the Crimean War in Alma, Balaklava and Sevastopol, as well as in the New Zealand Maori war (1863–66). Afterwards he served as assistant professor of surgery at Netly (1866–73); Senior Medical Officer of Sir Garnet Wolseley’s Ashanti Force (1873–74); Principal Medical Officer at Aldershot, Colchester, Hong Kong, and at Malta (1874–82); Head of the medical Branch of the Director-General’s Office in London (1882–87); and Principal Medical Officer at Gibraltar (1887–89).