刘焉当过冀州刺史,但没有当过幽州刺史。不过,当时还没有天下大乱,地方官权轻,朝官权重,所以他后来被征调到朝廷,先后担任南阳太守、宗正、太常等职务。
灵帝末年,黄巾起义爆发,天下大乱,各地盗贼蜂起。刘焉认为汉朝可能已经没有能力收拾河山,重新振兴了,所以希望找一个地方避乱。所以,他向朝廷建议,刺史权轻,无法调动军队,应该选择有威望的宗室,到地方担任州牧,以加强权力,可以帮助朝廷稳定局势。
所以,朝廷才同意,让刘虞出任幽州牧,刘表出任荆州牧,刘焉一开始想的是去交趾,当交趾牧。因为交趾远离中原,而天下大乱,受到冲击比较严重的必然是中原地区,远离中原的边疆地区是容易稳定的。
但当时的儒学领袖、担任侍中的董扶跟刘焉说,益州有天子气。因为东汉的经学非常发达,所以谶纬也很发达,很多人都懂望气之术,董扶又是当时的儒宗,刘焉本人也是著名儒学大家,所以董扶说益州有天子气,刘焉就相信了。
刚好益州刺史郗俭在益州苛捐杂税比较多,很扰民,在当地官声不好,朝廷想换一个人,刘焉就得到了外放担任益州牧的机会。
从汉朝的官制来说,州牧实际上也没有军权,但是如果州牧带将军衔,就有军权,而朝廷给刘焉的名义是监军使者,益州牧,又封为阳城侯,就既有军权又有行政权了。董扶和太仓令赵韪立刻辞去朝廷的职务,跟刘焉一起入川。
就在这时候,凉州、并州都发生了叛乱,凉州刺史耿鄙和并州刺史张懿都被杀了,凉州的一股叛军流窜进入了益州境内,在益州境内也引发了比较大范围的混乱,本来应当被送回朝廷受审的郗俭也被杀死。
益州从事贾龙组织了一部分军队,击败了叛军,派人迎接刘焉,进入益州。刘焉进入益州后,吸取郗俭的教训,废除扰民的苛政,政策比较宽松,招抚各地的叛乱分子,很快就让益州恢复了秩序。
张鲁的母亲这时候在益州境内,颇有姿色,加上又是天师道宗主,经常往来刘焉家里。所以,刘焉在益州稳定之后,就派张鲁为督义司马,率兵前往汉中,进攻并杀死了汉朝朝廷委任的汉中太守,控制了益州和汉中前往汉朝京城的道路,隔断益州境内与朝廷的联系。
如果说进入益州平定叛乱,稳定地方还是刘焉奉朝廷之命所做的事情,那么派兵进占汉中,就是明显的有割据的野心了。
在占领汉中之后,刘焉又找借口杀死了一些当地的豪强大族,在益州树立个人的威信。董卓派这时候的汉朝司徒赵谦率兵进攻益州,并且联络犍为太守任岐及贾龙起兵,让他们反对刘焉,也被刘焉派兵消灭。这样,刘焉就基本上控制了益州的局势。
随着对益州的控制基本稳定,刘璋的野心越来越膨胀。此时中原因为董卓废立天子,将汉献帝劫持迁往关中,已经秩序大乱。袁绍因为反对董卓废立天子,所以不承认汉献帝,想李幽州牧刘虞为帝。与刘虞同为汉朝宗室且出名更早的刘焉自然也不甘人后。刘焉的野心就越来越明显,在益州造了一些天子才能使用的器物,不臣之心越来越明显。
在荆州的刘表就向汉朝朝廷上奏,告发刘焉有野心。刘表、刘焉和刘虞是当时地方实力派中最有名的级别汉朝宗室。袁绍有立刘虞为帝的意思,刘焉割据荆州,开始做称帝的准备,刘表当然也没闲着。他在稳定了荆州局势之后,也私自郊祀天地,而郊祀天地本来是天子特权,刘表这么做,就已经违反了礼制,暴露了明显的称帝意图。
所以,刘表和刘焉其实都有称帝的意思,刘表这时候上奏揭发刘焉,其实不过是为了给自己找一个进攻刘焉、占领益州的借口而已。
本来刘焉的几个儿子,有三个在朝廷担任职务,刘璋也在其中,带在刘焉身边的,只有小儿子刘瑁。汉献帝得到刘表的告发之后,就让刘璋去劝刘焉,结果刘焉把刘璋也留下来了。
刘焉的儿子刘范在长安,和马腾共谋,串通刘焉,企图起兵袭击李傕,结果被击败,马腾退回凉州,刘范被杀,刘焉的二儿子刘诞死在军中。
刘焉进入益州境内的时候,因为原来的州治所经过兵乱,残破不堪,就将州治所在地迁往绵竹。就在得到刘范、刘诞被杀的消息的时候,绵竹又发生了大面积火灾,他之前准备的天子乘舆等都被烧毁。刘焉只好又将州治迁往成都。不久后,刘焉死去。
刘焉死时,本来有两个儿子,刘瑁和刘璋都在益州,但属下赵韪等人认为刘璋暗弱,易于控制,所以扶植刘璋继位为监军使者,益州牧。之后,刘璋又派赵韪出兵进攻荆州刘表,但赵韪率兵还没离开益州境内,就率兵发动叛乱,回师成都,想取而代之。
汉末大乱的时候,南阳和关中的一些百姓逃亡进入益州境内,有几万人,刘焉进入益州之后,将这些人征兵入伍,也就是东州兵。正是在东州兵的支持下,刘焉才能威服益州。
但是东州兵在当地横行霸道,引起当地人反感,赵韪就利用当地人的反对,才有能力起兵反对刘璋。但东州兵知道这次如果刘璋战败,他们都得死,就拼命死战,击败赵韪的军队,保住了刘璋。
刘璋继位之后,张鲁在汉中也越来越不听刘璋命令,所以刘璋杀了张鲁留在益州的家属,和张鲁结仇。赤壁之战后,刘璋先派张松向曹操归诚,曹操没有给好脸色,张松就转而向刘璋建议,召刘备入川,可以抵御张鲁。结果,刘备入川后,反而夺取了益州。
刘备占领益州后,将刘璋安置在荆州辖区内的秭归,孙权袭杀关羽、夺取荆州后,仍然拜刘璋为益州刺史。刘璋死后,刘璋的儿子刘阐又被孙权拜为益州刺史,安置到交趾和益州接壤的地方后来,刘阐被吴国征召还朝,担任御史中丞。刘璋的另一个儿子刘循一直留在益州,为奉车中郎将。也就是说,刘璋的两个儿子,分别在吴蜀两国为官。
不过,刘璋这种情况在当时非常多。黄权在夷陵之战后被迫投降魏国,一个儿子跟着他在魏国为官,但他还有一个儿子留在蜀国,一直为官。