劉守光,深州樂壽人。他父親劉仁恭,當初隨父親劉晟客居范陽,劉晟以軍吏身份補任新興鎮將官,服事節度使李可舉。劉仁恭小時多有機智,屢次在軍中效力。李全忠攻打易州、定州時,偏將於晏包圍了易州,連月不能攻下,劉仁恭挖地道攻陷了易州,軍中稱他為「劉窟頭」,逐漸遷升為裨校。劉仁恭志向遠大,膽氣豪壯,自己說曾經夢見有大佛幡從手指頭上出來,有人說他年四十九時當領取旄節。這話流傳很廣,燕地統帥李匡威忌恨他,不想讓他執掌軍隊,改任為府掾,出任景城縣令。正遇上瀛州軍隊變亂,殺死郡守。劉仁恭招募不在軍籍的壯丁一千人討伐平定了瀛州亂軍,李匡威認為他幹練勇壯,又派他做帳下的親信武將,令他領兵戍守蔚州。戍守兵士因為超過了服役期限而沒有人接替他們,都想回去,流露出怨言,正遇上李匡儔奪取了他兄長李匡威的帥位,戍軍便擁立劉仁恭為統帥,想進攻幽州,等到達居庸關時,被府兵打敗。劉仁恭帶著家屬逃奔到太原。後唐武皇李克用待他很優厚,賜給他田地房屋以安置他,派他出任壽陽鎮將官,跟隨武皇征伐吐谷渾。劉仁恭多次向蓋寓進獻計謀,陳述幽州可以圖取的情狀,希望得到步兵騎兵一萬人,就可指日奪取,武皇聽從了他。到劉仁恭發兵後,屢次不能克敵致勝。
唐朝乾寧元年(894)十一月,武皇親自征討李匡儔。十二月,在威塞打敗了李匡儔的燕軍,向前攻下媯州,收復了居庸關。二十六日,李匡儔丟下幽州城逃走,武皇命令李存審與劉仁恭進城安撫慰勞,查封府庫,就以劉仁恭為幽州節度使,留下心腹燕留德等十多人分別執掌軍政事務,武皇才回去。二年七月,武皇討伐王行瑜,駐軍於渭水北面,向唐昭宗上奏章請求授予劉仁恭節旄斧鉞。九月,唐朝天子任劉仁恭為檢校司空、幽州盧龍軍節度使。三年,羅弘信背棄盟約,武皇派李存信進攻魏州,向燕地徵兵,劉仁恭托辭契丹人進犯,等契丹退兵後就聽從調兵的命令。四年七月,武皇聽到兗州、鄆州都陷落,又向劉仁恭徵調軍隊,幾個月之間,使者的車輛不絕於路,而劉仁恭推辭旨命頗不謙遜。武皇寫信責備劉仁恭,劉仁恭看完書信便謾罵武皇,拘留了武皇送信的使者,晉地在幽、燕的戍兵都被劉仁恭拘押起來,劉仁恭又用厚利引誘晉軍的驍勇將士,因此逃亡投奔劉仁恭的人很多。八月,武皇討伐劉仁恭。九月五日,駐紮於安塞軍中。九日,渡過木瓜澗,被燕軍大敗,死傷了一大半。過後劉仁恭向後梁太祖朱溫告捷,梁太祖聽到後很高興,因而上表推薦劉仁恭為平章事。劉仁恭又派遣使者到武皇那裡,自己陳述邊陲將領擅自興兵的罪行,武皇用書信回答他。劉仁恭在與晉絕交之後,經常害怕討伐,招募兵士訓練部眾,總沒有空閒的日子。
唐昭宗光化元年(898)三月,劉仁恭命令他的長子襲擊滄州,盧彥威棄城而逃,劉仁恭便兼有了滄、景、德三郡,以劉守文為留後,向朝廷請求符節斧鉞。唐昭宗對劉仁恭擅自動兵感到憤怒,沒有及時給與他。恰逢朝中使者來到范陽,劉仁恭私下對他說「:旄尾做成的符節我自己也能製造,只是要有長安本色而已。為什麼接連送上奏章而受阻不與?請為我解釋這個原因。」他的悖逆不道竟然這樣。劉仁恭軍隊更加強盛,每次作戰多能獲勝,他認為上天在幫助他,於是就有了吞併河朔一帶的志向。
光化二年(899)正月,劉仁恭率領幽州、滄州的步卒騎兵十萬人,號稱三十萬,準備兼併魏博、鎮定。部隊到達貝州,一鼓作氣攻下了貝州城,城中無論老幼全都被屠殺,清水被屍體堵塞不流。羅紹威向汴州求援,汴軍將領李思安、葛從周奔赴救援羅紹威,李思安駐軍內黃。劉仁恭領軍包圍了魏州,聽到汴軍駐紮在內黃,告訴他兒子劉守文說:「李思安膽怯懦弱,你的才智和勇力,要勝過他十倍,應先消滅這一鼠輩,然後活捉羅紹威。」劉守文與單可及率領漁陽精壯甲士五萬人,沿清水兩岸而上。李思安埋伏士兵於內黃境內清水的左岸,袁象先埋伏士兵於內黃境內清水的右岸。李思安在繁陽城迎戰,假裝戰敗,慢慢撤退,燕軍緊追而來,追到內黃,李思安步兵排成陣列,回擊燕軍。燕軍大敗。在陣地上殺死了單可及,劉守文僅單騎隻身逃脫,五萬大軍沒有活著回去的。這時葛從周率領邢州、名州的部隊進入魏州,與賀德倫、李暉出擊敵軍營寨。當夜,劉仁恭燒燬營寨逃跑,汴軍長驅追擊,從魏州到長河數百里,死屍遍地,破敗的旗幟、折斷的戰戟,堆積在路上。鎮州軍隊又在東邊邊境攔截攻擊燕地敗軍,燕軍再次被打敗。劉仁恭從此多年委靡不振。汴軍乘勝進攻滄州,劉仁恭率領部隊前往援救,安營於乾寧軍中。汴軍將領氏叔琮迎戰,燕軍迴避顧望,退過瓦橋,於是用謙卑的言辭隆厚的財禮向晉軍請求救援,武皇於是派兵進逼邢州、名州以響應劉仁恭。十月,汴軍攻陷瀛、莫二州,晉軍將領從飛狐領兵而出,劉仁恭又與晉人恢復友好。
天..三年(906)七月,梁太祖親自領兵進攻滄州,在長廬安營。劉仁恭部下士兵屢次逃亡,於是劉仁恭施行酷法,全部徵取轄區內十五歲以上、七十歲以下的男丁,各人自己準備糧食從軍,里巷為之一空。轄區內男子無論貴賤,全在面額上刻字塗墨,字叫「定霸都」,士人在手臂上刻字塗墨,字叫「一心事主」,因此燕、薊一帶的人民按例大多被刻字染墨,也有隱匿逃竄才得以避免的。劉仁恭彙集部眾,得到二十萬,進到瓦橋,汴軍深溝高壘以進攻滄州,滄州守軍與外界阻絕,劉仁恭不能與他合兵而戰,滄州城內大鬧饑荒,人們互相烹食,劈開屍骨當柴燒,搓圓泥土當糧食,形銷骨立奄奄待斃者有十分之六七。從七月到十月,劉仁恭派遣使者向晉人求援,前後派出一百多人,武皇才向燕人調集兵力,劉仁恭都將李溥、夏侯景,監軍張居翰,書記馬郁等,領兵三人來與晉軍相會。十二月,會合晉軍以進攻潞州,降服了丁會,才解脫了滄州之圍。
這時,唐朝天子逃亡於道,中原地區戰事頻繁,劉仁恭嘯傲薊門,志得意滿,拜道士王若訥為師,祈求長生不老羽化成仙的法術。幽州西部有座名山叫大安山,劉仁恭就在那山上修建裝飾華麗的館宇,超越本份仿照天子宮廷,收聚家室美女,極盡奢侈華麗。又招聚和尚道士,配製仙丹,講求法術要略,又用粘土做成錢,令在轄區內流通,而將銅錢全都收斂到大安山頂上,挖掘山洞來收藏它們,藏好後就殺死挖洞鑿石的工匠以滅口。又禁止江南茶商入境,自己採摘大安山中的草葉當茶葉,以謀取厚利。改山名為大恩山。劉仁恭有位愛妾姓羅,姿色美麗,他的兒子劉守光與她通姦,事情被發覺,劉仁恭大怒,鞭打劉守光,貶謫而不任用他。
天..四年(907)四月,汴軍將領李思安率領士兵進攻幽州,在石子河安營,劉仁恭在大安山上,幽州城沒有防備,劉守光便從外地統帥軍隊前來救援,登上幽州城牆抗兵固守。汴軍撤退後,劉守光就自任幽州節度使,命令部下將領李小喜、元行欽領兵進攻大安山。劉仁恭派兵抵抗作戰,被李小喜打敗,於是俘獲劉仁恭回到幽州,囚禁在偏室中。劉仁恭身邊的人,以至婢女媵妾,凡與劉守光不和的全都誅殺了他們,這時劉守光的兄長劉守文在滄州,聽到父親被囚禁,聚合兵士大聲痛哭,告訴他們說:「可憐父母,生養我們勞苦。自古以來哪有兒子仇恨父親的人,我家出現這種凶禽惡獸的東西,我活著不如去死!」立即率領滄州和德州的軍隊討伐劉守光。劉守光在雞蘇迎戰,被劉守文打敗。不久劉守文假裝悲痛,單騎匹馬立於陣地前,哭著告誡自己的部眾說「:請你們不要殺害了我的弟弟。」這時劉守光的勇將元行欽認出了他,劉守文於是被元行欽抓獲,滄州士兵失去統帥而自己潰散。劉守光於是把哥哥囚禁在別室,用叢生的棘刺圍著,乘勝進攻滄州。滄州賓佐孫鶴、呂兗已推舉劉守文的兒子劉延祚為統帥,劉守光將劉守文帶到滄州城下,攻打包圍了幾個月。城中缺糧,一斗米價值三萬,人首一級也值十千,軍士吃人,百姓吃粘土,驢馬相遇時,互相吃鬃毛和尾毛,士人出門,大多被驍勇的人屠殺。很久,劉延祚勢窮力竭,舉全城向劉守光投降,劉守文旋即也被殺害。
劉守光本性平庸昏昧,把父親兄長的失勢,說成是上天在幫助他,因而荒婬暴虐更加厲害,每當殺人時一定要用鐵籠子裝著犯人,四周用柴火圍攏,又用鐵刷子挖刮人的臉。曾經穿著赭色黃袍,四顧將官佐吏們說:「當今海內四分五裂,我想南面稱王而君臨天下,諸君認為怎麼樣?」賓佐中有位叫孫鶴的人,是位正直而有方略的謀士,首先應對說:「大王西面有并州、汾州的禍患,北面有契丹的憂慮,他們正乘機尋找破綻,虎視眈眈其勢逼人,他們如果結為同黨橫向聯合,侵犯我們的疆界,我們雖然地勢險要,然而其勢不可擋住敵人的進攻,鎧甲兵器雖然很多,然而防守尚恐顧不上,即使能擊退敵人,也未免產生憂患。大王只要安撫士卒愛護人民,修整兵備收全賦稅,道義名聲流傳天下,諸侯就自然推舉擁戴。現在如果倚仗兵多地險,未見得就有好的前景。」劉守光不高興。到梁軍佔據深州、冀州時,王..向劉守光請求救兵,孫鶴勸劉守光派出援軍以圖取霸業,劉守光不聽從。當後唐莊宗取得柏鄉戰役的勝利時,劉守光圖謀攻打易州、定州,煽動鎮州人,想做河朔地區的元帥。莊宗於是與鎮州節度使王..、易定節度使王處直、昭義節度使李嗣昭、振武節度使周德威、天德軍節度使宋瑤,一同派遣使者奉上冊封文書,推劉守光為尚父,以促成他的罪惡。劉守光不醒悟,還以為藩鎮們害怕自己,仍舊將各蕃鎮的狀文送給梁太祖,說:「臣被晉王等推戴為尚父,堅決辭謝都不行,又難以抗拒違背。臣私下料想恰當的方式,不如陛下封臣為河北道都統,那麼并州、鎮州的叛逆,就能輕易地平定了。」梁太祖知其有詐,好言答應他。又命閣門使王日童、供奉官史彥璋等人出使燕地,冊封劉守光為河北道採訪使。
六月,梁朝使者來到,劉守光命令有關官員議定尚父採訪使的禮節。官員取出唐朝冊封太尉禮節的記載給他看。劉守光說「:這禮節中怎麼沒有在郊外祭天和改元的事?」梁朝使者說「:尚父雖然尊貴,但還是皇上的臣子。」劉守光大怒,將禮書扔到地下,對將佐官吏說:「當今天下動盪,英雄角逐,朱公在夷門創立國號,楊渭在淮海僭稱帝業,王建在巴蜀自尊為國主,李茂貞在岐陽偽行詔令,都依仗所封的土地,自己借用帝王的名號禮制,然而兵力虛弱、勢力孤單、疆土邊境諸多憂患。我大燕有土地方圓二千里,帶甲之士三十萬,東邊有富饒的魚鹽資源,北面有塞外駿馬的利益,我南面稱帝,又能把我怎樣!我都僅當尚父,誰該當皇帝?你們等人趕緊準備皇帝的禮儀,我將要當河朔的天子。」燕地的將佐官吏竊竊私議,認為不行。劉守光將斧頭和鐵砧放在庭中,命令將吏們說:「現在有多方支持,我不能再次違抗,必須選擇吉日稱帝了。聽從我的人就給予獎賞,從中阻撓不聽的人格殺勿論。」孫鶴應對說「:滄州被攻破打敗,我本是負罪之人,受大王寬容,我才活到今天,因此不敢阿護旨意以誤了家國,如果聽從我的話,我就是死也不後悔。」劉守光大怒,把他推倒在鐵砧板上,命令軍士們割下他的肉生吃下去。孫鶴大叫道「:百天之後,必將有急兵到來!」劉守光命令堵上他的口,一寸寸斬割了他,有識之士都為之嗟歎惋惜。劉守光於是全部召來手下官吏,教他們學習朝拜皇帝的禮節儀式,邊遠地方的人平素既沒有見識過,舉措之間沒有儀容,互相看著調笑。
八月十三日,劉守光僭稱大燕皇帝,改年號叫應天。以梁朝使者王日童、判官齊涉為宰相,史彥璋為御史大夫。稱帝那一天,契丹人就攻陷了燕北平州。莊宗聞訊後大笑,監軍張承業說:「罪惡不累積得很多不足以亡命滅身,正所謂老子所說的『將要奪取他,必先送給他』,現在劉守光猖獗一時,請派使者探問他,以觀他的敗兆。」十月,莊宗令太原少尹李承勳前往出使燕地。李承勳到燕地後,劉守光憤怒他不稱臣,將他帶上刑具關在監獄中。
十二月,莊宗派周德威從飛狐出師,會合鎮州、定州的軍隊以討伐劉守光。周德威進攻包圍歷經一年,燕地其他屬郡都被攻下。劉守光固守幽州,向梁王求援,向北利誘契丹,但救兵始終不來。十年十月,劉守光便派使者帶著錢幣馬匹見周德威請求投降,又登上城牆高呼說「:我等晉王來到就出城。」十一月,莊宗親征。二十三日,到幽州,莊宗單騎來到幽州城下,召劉守光說:「大丈夫的成敗,取決於他的背向,您將如何取捨?」劉守光說「:我不過是砧板上的肉罷了!」莊宗憐憫他,折斷弓箭為他發誓,答應保全他的性命。劉守光又推辭在另外的日子投降,莊宗於是命令各軍繼續攻擊他。二十四日,四面全部進攻,莊宗登上燕太子墓觀戰。一會兒幾位騎兵抓著劉仁恭以及他的妻兒來獻給莊宗,檀州游奕將領李彥暉也在燕樂縣抓獲劉守光,並將他的妻子李氏、祝氏,兒子劉繼王旬、劉繼方、劉繼祚等人來獻上。稍早以前,劉守光在幽州城被攻破後,攜帶他的妻兒逃到關南投靠劉守奇。沿路生了凍瘡,雙腳腫起,整天沒有飯吃。到燕樂縣,藏在山洞中,叫妻子祝氏到農戶張師造家討飯吃,張師造感到這婦人狀貌怪異,盤問她,於是將他們全抓獲了。莊宗正在府第宴飲部下,帶劉仁恭、劉守光到席前,劉氏父子大哭謝罪,莊宗撫慰他們說:「以前的事不要再提了,誰人沒過錯,改了它就是可貴的。」於是把他們帶回驛傳館舍中。同月己卯日,晉軍抓執劉守光及劉仁恭,在紀功報捷的露布上公佈他們的罪行,然後驅趕俘虜凱旋班師。
天..十一年(914)正月,莊宗及軍隊到達晉陽,劉仁恭父子身披桎梏立於露布之下,父母唾罵劉守光說:「不肖逆賊,家敗人亡到如此地步!」劉守光低著頭不敢看。從范陽到晉陽,跋涉一千多里,所到之處人們都圍著看他們,叫劉守光為「劉黑子」,而他卻全無愧色。莊宗將劉仁恭、劉守光在都城遊街示眾後,就到南宮七廟祭告祖宗,祭禮完畢、劉守光與李小喜、鄭藏斐、劉延卿以及他的兩個妻子都被誅殺。李小喜本是晉軍的小校,先前逃到燕地,劉守光把他當作愛將。劉守光雖然凶殘婬亂出於天性,然而他的罪大惡極,未嘗不是李小喜促成的。劉守光將敗的前一日,李小喜來投降晉軍。劉守光將死前,大叫道:「臣的荒謬行為,是李小喜蠱惑的緣故,如果他這罪人不死,臣一定到九泉之下申訴。」莊宗急忙傳召李小喜來到,讓他證明辯解。李小喜瞪著眼睛喝叱劉守光說「:囚禁父親殺死兄長,與父親的愛妾通姦,也是我教你的嗎?」莊宗氣憤李小喜的失禮,首先殺了他。劉守光痛哭說「:大王將要平定天下,臣精於騎馬,何不姑且留下我一命以供使喚。」他的兩位妻子責備他說:「皇帝,事情形勢到這一地步,活著不如去死!」於是他的兩位妻子首先引頸就戮。劉守光還哀求不已。在誅殺劉守光後,莊宗命判官司馬揆具辦棺材祭品,將他們埋在城西三里外的龍山下面。又命副使盧汝弼、李存霸押送劉仁恭到代州,在武皇陵墓前用劉仁恭心血來祭祀,將他誅殺在雁門山下。從劉仁恭乾寧二年春天進入幽州,到天..十年,父子相承,十九年而滅亡。