董卓之亂以後,東漢王朝名存實亡,對各地州郡失去了控制。各地官僚、豪強趁機會爭奪地盤,形成了大大小小的割據勢力。勢力比較大的有冀州的袁紹、南陽的袁術、荊州(約當今湖北、湖南兩省和河南、貴州、廣東、廣西的一部)的劉表、徐州(約當今江蘇長江以北和山東東南部)的陶謙、呂布等,他們相互混戰,打得昏天黑地。成千上萬的百姓在混戰中遭到屠殺,許多地方出現了沒有人煙的荒涼景象。
曹操本來勢力很小。後來,他打敗了攻進兗州(今山東省西南部和河南省東部,兗音yǎn)的黃巾軍,在兗州建立了一個據點。他還從黃巾軍的降兵中,挑選一部分精銳力量,擴大了武裝。以後,他又打敗了陶謙和呂布,成為一個強大的割據力量。
公元195年,長安的李傕和郭汜發生火並,外戚董承和一批大臣帶著獻帝逃出長安,回到洛陽。洛陽的宮殿,早已被董卓燒光了,到處是碎磚破瓦,荊棘野草。漢獻帝到了洛陽,沒有宮殿,住在一個官員的破舊住房裡。一些文武官員,沒有地方住,只好在斷牆殘壁旁邊搭個草棚,遮避風雨。最大的難處是糧食沒有來源。漢獻帝派人到處奔走,要各地官員給朝廷輸送糧食。但是大家正在忙著搶地盤,根本不把皇帝放在眼裡,誰也不肯送糧來。
朝廷大臣沒有辦法,尚書郎以下的官員,都只好自己去挖野菜。這些平時養尊處優的官員,哪兒受得了這個苦,有的吃了幾頓野菜,就倒在破牆邊上餓死了。
這時候,曹操正駐兵在許城(今河南許昌),聽到這個消息,就召集部下的謀士商量,要不要把漢獻帝迎過來。
謀士荀彧(音yu)說:「從前晉文公發兵把周襄王送回洛邑(今洛陽),成為霸主;漢高祖為義帝發喪,天下人都向著他。這樣的例子歷史上是不少的。現在皇上到了洛陽,困苦不堪。將軍如果能把皇上迎來,這正是順從人們的願望。要是現在不及時去接,一旦讓別人搶先迎去。我們就錯過機會了。」
曹操聽了,覺得很有道理,立刻派出曹洪帶領一支人馬到洛陽去迎接漢獻帝。
董承等大臣害怕曹操,發兵阻攔曹洪的人馬。後來,曹操親自到了洛陽,向他們說明現在洛陽缺少糧食。許城有糧食,但是運輸不便,只好請皇上和大臣們暫時搬到那邊去。免得在這裡受凍挨餓。
漢獻帝和大臣聽說到了許城有糧食,都巴不得早點遷都。公元196年,曹操把漢獻帝迎到了許城,打那時候起,許城成了東漢臨時的都城,因此稱為許都。
曹操在許都給漢獻帝建立了宮殿,讓獻帝正式上朝。曹操自封為大將軍,開始用漢獻帝的名義向各地州郡豪強發號施令。
首先他用獻帝名義下詔書給袁紹,責備他地廣兵多,只管擴大自己勢力,攻打別的州郡,不來幫助朝廷。
儘管袁紹勢力大,但是名義上他還是漢獻帝的臣子,接到詔書以後,沒法子,只好上個奏章給自己辯護。
曹操又用漢獻帝名義封袁紹為太尉。這一下,袁紹可生氣了。他覺得曹操當大將軍,自己反在曹操底下,太丟人啦。就氣沖沖地說:「曹操要不是我,哪有今天。現在他倒用皇上的名義來號令我起來了。」他上個奏章把太尉辭了。
曹操覺得自己地位還不鞏固,不願和袁紹鬧翻,就把大將軍的頭銜讓給袁紹。自己改稱為車騎將軍。
許都的情況暫時穩定下來了。但是日子一久,大批官員和軍隊的糧食供應,就發生困難。經過十年混亂,到處都在鬧饑荒。如果許都的糧食問題不解決,大家也呆不下去啦。有個官員棗祗(音zhī)向曹操提出一個辦法,叫做「屯田」。他請曹操把流亡的農民招集到許都郊外開墾荒地,由官府租給他農具和牲口。每年收割下來的糧食一半歸官府,一半歸農民。
曹操接受了棗祗的建議,發佈命令,實行屯田。許都附近的荒地很快就開墾出來了。一年下來,原來已經荒了的土地上獲得了豐收。光是許都的郊外就收到公糧一百萬斛。曹操又在他管轄的州郡都推行屯田制,設置田官。以後,凡是實行屯田制的地方,穀倉都裝得滿滿的。
曹操用皇帝的名義號令天下,又採用屯田辦法,解決了軍糧問題,還吸收了荀攸、郭嘉、滿寵等一批有才能的謀士,他的實力就更加強大起來了。