The Doctor has gone by many different "names". In the very beginning of the classic series, his granddaughter goes by the name Susan Foreman, so it is assumed that Foreman is his last name. He himself didn't seem to identify with it though. We also know that his nickname in college was Theta Sigma, or just Thete. In some situations, the Doctor can't just go by the name "The Doctor" and instead uses the alias "John Smith" or "Doctor Smith". The twelfth doctor once said that his first name is "Basil", which remains unconfirmed though because, since (according to him) his name is alien, it is pronounced at a frequency that cannot usually be heard by humans. Therefore, there have also been theories that his name is simply unpronounceable. So, to sum it up, no, we don't know his real name.
This is one that doesn't really work without context. It's a time travel show and so River and the Doctor met out of order. It was actually very nicely done, we meet River at the end of her life and she dies in that story. In that story she tells the Doctor about the last time they met at the towers of Darillium, something we wouldn't see depicted for another seven years.