Как разобраться в исходном коде такого проекта как Mysql?
Поиск использования и определения очень помогает. В любой IDE есть. В Vim/Emacs/Других плагинами реализуется.
Ну и не ждите, что вы выучите исходники, просто читая их, и будете досконально в них разбираться. Так не бывает.
Сначала определитесь, зачем вам смотреть исходники. Маленькая производительность - подрубаем профайлер, ищем узкие места. Лезем в код, оптимизируем, тестируем. Повторяем пару итераций.
Не хватает функционала? Например, новый тип добавить хотим. Ищем модули, которые реализуют похожий функционал. Делаем свой тип по подобию существующих. Тестируем сервер, реплику. Профилировщик натравливаем и т.д.
И вот вы уже разобрались в некоторых частях.
А без цели лезть в код, что бы "стать спецом" - ничего не выйдет.
Конечно, если поставить цель: "с наскоку" разобраться в проекте, который делала большая команда специалистов, - то мало чего выйдет. Особенно при отсутствии хорошего практического опыта в языке, на котором проект написан. Но если поставить цель освоить именно вот-этот-проект (не важно, MySQL, Linux core, Eclipse IDE, ReactOS, ... ), то вполне. Поначалу любой из них кажется гигантским лабиринтом, который ты никогда не выучишь наизусть. Но, поверьте, это только по-началу.
И да, соглашусь с fshp: не ждите, что вы выучите исходники, просто читая их
Нужно научится собирать этот проект. Затем научиться вносить изменения (в свою песочницу) с целью проведения экспериментов. И только после уверенного освоения практики вноса работающих правок в проект, переходить к более серьезным вещам в нем.
Вообще сама идея и желание досконально разобраться в устройстве известного открытого проекта достойна похвалы. В любом случае, вы получите бесценный опыт. Научитесь терпимо относиться  к чужому коду, понимать или предчувствовать ход мысли других людей. Может быть вам также придется "в аврале" изучать чужой проект уже по заданию работодателя. Кто знает, если вы досконально разберетесь в этом проекте, может быть присоединитесь к команде Oracle и станете одним из ведущих разработчиков? ;)
P/S
Не хочу кидать камень в сторону команды MySQL, но файл на 20K строк кода это, имхо, признак "smell code". Хотя кто я такой, чтобы судить. ;)