Total Pageviews

Thursday 17 October 2024

赫魯晓夫的最後一天 | 從慈父"好兒子"到蘇聯國家囚徒

 

功能强大的fire lighter

https://getfireblaze.com/checkout4/?affId=nva&uid=1517&c2=493&c1=15&sub2=cs8in9pleltc73e7n7u0&sub5=eIXpGScfIHtWnXjR2IIFyYTpBetq0tPttz&unit=1

40usd/pc

推荐阅读

 https://vip.chinawriter.com.cn/list/14_1.html

鲤城遗梦

 

寒秋冷雨,风扫落叶,北雁南飞,北国尘世里的一切似乎都被笼罩在寒风料峭与凄雨簌簌之中。气温骤降,冷风呼号若利刃般刺入面颊。街市上行人无不战战兢兢,缩手缩脚,生怕稍加不意便添风寒。此刻,久居北国的我望着漫天苍黄,不禁思忆起那至今仍就温暖如春的独特文化圣地——泉州。

其实泉州于我而言即如第二故乡般留恋,日夜思念,魂牵梦萦。多少次夜里好梦惊回,再归鲤城,然而却一次又一次被清晨鸡鸣而惊醒,空对屋檐。如此念念难忘,只因曾经短暂的泉州之旅。

提及泉州,无人不晓、妇孺皆知。其地处闽南,古曰鲤城,主要处于东南丘陵地带,东临东海,纬度较低,气候温和,降水丰沛,是一背山靠海的风水宝地。在这里居住的大都是历史上从古中原地区历经数代不断迁徙而来,并繁衍生息的古汉民后翼他们至今仍操着一口极具古汉语风味的方言——闽南语。他们热情好客、和善可亲、雍容大度、温柔随和。同他们攀谈,只觉其谈吐儒雅、优雅风趣。在那里男子温润如玉,女子仪态万方,这也体现了闽南人独具特色的文化观念,可以说在泉州你可尽数领略古朴民风的尽善尽美,端庄雅致。

初到泉州,一个熟悉又陌生的城市。大街小巷高楼林立、行人如织、车水马龙,一派繁华盛景尽收眼帘。这个宋代就闻名中外的远洋贸易港口,千百年来从未落寞。当你来此,呼吸着悠远文化浸润的空气,瞬时神清气爽,陶醉其中。那东西古塔,宛如两位历经风霜的耄耋老人,争相为游人诉说着经年往事与历史印痕。泉州也是保留着不计其数古建筑的文化古城,它虽然没有长安的恢宏大气,盛世气息尽显。亦无金陵之龙盘虎踞、金碧辉煌,然而它却拥有了民间最纯朴的风情,质朴而古雅。泉州的古建筑如洛阳桥、开元寺、泉州府文庙、清净寺、市舶司遗址,以及同为世界遗产的,有着“天下无桥长此桥”之美誉的世界中古时期最长跨海梁式石桥——安平桥等等。数不胜数,无不彰显了闽南地区的丰厚文化底蕴与不同时期的历史遗梦。毕竟泉州也是闽南地区历史悠久的名城了,自秦始皇南征百越起,闽南这片厚重的土地上就开始不断吸引中原汉人到此定居,泉州更不例外,故而也至今保留着最古老且纯正的民风习俗。

泉州民俗众多,最著名的民俗活动当属元宵佳节的拔拔灯。是日夜晚,男女老少都会在街巷里将数十盏灯笼拴在一条大的绳缆上,象征着当年行船拉纤的大绳,据说是要再现当年纤夫们逆水行舟,奋力拼搏拉纤的情景。此项活动大概要经过九道程序才算表演完成,场面真乃气势磅礴,震撼人心啊,当然这一活动而今更多的还是热闹喜庆,怡情欢心。人们载歌载舞,满心欢喜,若能亲眼所见,定觉一场宏大的民俗盛宴展现眼前。这就是泉州,这就是人人都会为之赞叹的历史古城。

在泉州短暂的日子里,虽然无法将其中美景一一游览,但最著名且最具代表性的景点也是去了几处,并在有桑莲法界之称的开元寺内的双塔底下,抚摸着具有深厚历史的沉重砖石,静静欣赏风铃奏出的美妙乐曲,沉醉在优美清柔的自我世界里感悟着上千年的历史文化,幸甚至哉,此生足矣。除了开元寺,泉州清源山的老君岩也是闻名遐迩的景点。老君即道家创始人老子,在这里体会到的更是一种深远博大的哲学韵味,道法自然,顺物自然而无容私,在天地间效法自然之理,无为而治。无为就是最大的做为,正所谓,“大方无隅,大器免成,大音希声,大象无形”云云。顺其自然,一切安好。道家思想将人伦物理上升到天地万物,并批判人类之间的尔虞我诈、奸邪凶恶,提出“挫其锐,解其纷,和其光,同其尘”的处世方法论,即和光同尘,与世无争,逍遥天地间,自由安闲的活着。如此也影响了历朝历代的隐士们,例如东晋文豪陶渊明、大唐诗佛王维等等。采菊东篱、种豆南山、漫理荒秽,坐于山穷水尽处,看那云起云落之美景。或与林叟谈笑,笑看人生,将那种宠辱不惊,看庭前花开花落;去留无意,望天外云卷云舒的潇洒自在、安闲自适的生活态度表现的淋漓尽致。这就是道家带给我们最快乐幸福的人生观。由于自身对道家思想的无比钟情,在老君岩道教圣地的游览也是流连忘返,感受颇深。任凭时间与岁月悄然流逝,我心依旧,兴致不减且不断增加,以至最后临走时依旧留恋,难舍难分。此留恋不舍不仅对老君岩这一道教景点更是对整个泉州,毕竟老君岩之游后泉州之旅也将落下帷幕,次日便作别了这教人目酣神醉的古城,踏上归家的列车,带着对泉州最美好的忆记离开了,同时也留下了最美好的梦。

离开泉州后,由于终日遑遑的工作与生活,便再也没有步入这历史悠久、文化丰厚、民风和谐、美丽富饶的闽南宝地。但每逢心情低落或因生活困扰时,依旧会想起那曾带回的记忆,如此宽慰安抚,聊以慰藉罢。

在秋风萧瑟间,也想借此回忆说出那句在心中酝酿已久的话语:泉州,感谢君不离不弃的陪伴,期待不久后还可与君相拥,共话历史人生。

from https://vip.chinawriter.com.cn/member/yuanfanglvmeng/viewarchives_669500.html

父亲的锄把


今天,月明星稀,空气有些沉闷,石板屋里的五瓦灯泡照不出更多的光芒,昏暗一片,一具影子泥塑般地坐在那里,两个影子皮影般晃来晃去,不安而焦躁。远处,闪动亮光,有闷雷声滚动,有黑云涌过来,像是要下雨。

晃动的影子其中一个是我。今晚是个不平凡的日,明天我就要去千里之外的异地上大学了。对于我们这个封闭、贫穷、落后捆绑一体的穷山村来说,这是件光耀门楣的事情,我是这个巴掌天空里飞出去的一只金凤凰,村子里的树荫下、小河边庄、稼地里,到处都是对我的称赞声。对于我们王氏家族来说,祖坟上真冒青烟了,因为祖宗三代甚至十八代,没出一个天之骄子,我是第一个。今晚是个特殊的日子,这三间石板里应该充满的是欢声与笑语,而此时,却如此沉闷,是空气么?是乌云么?是夜晚么……

晃动的另一个影子是父亲。父亲晃动的身影让我满心欢喜的心情烟消云散,晃来晃去,风吹草动,皮影戏一般,晃的我心烦意乱。真不知道他心里想着什么?有什么事儿?本来欢庆的场面让他糟蹋地一踏糊涂。昨天一大早,村支书李老爹怀揣一个厚厚的红包来到我家,他是来祝贺的,祝贺这条沟走出了第一个大学生。他把红包递到父亲手里,深情地说,俺们村在你家娃儿的带动下,以后将会走出一个又一个大学生,这是个好兆头,这是村上的一点心意,也是全村人的一点儿心血。李老爹走后,父亲的心情喜悦而又沉重,沟壑般的脸皮动了动,深遂的目光尽显沧桑。他用结满老茧的手指蘸了蘸嘴角的唾沫,打开红包,点着票子,数了一遍又一遍,整整一百张,很厚实的一沓。父亲的手有点颤抖,没走出过这条沟的他也许是他前半生见到过最多的钱。前些日子,他的脸堆满愁云,眉头蹙成“一”字,把家里的毛票全部数上也不过千把元。他整天为我的学费发愁,想出去借钱,可他是独苗,头顶的只是巴掌大个天,更没有亲戚朋友。村民的心意真是雪中送碳,解了我们燃眉之急。父亲的身影仍然在晃,真不知道他在晃什么!

另一个泥塑般的影子就是我的母亲。 她打小就有痨病,她的咳嗽声如羊铃或铜铃连成串,串到整条沟都成听到。而今晚打破常规,她却异常地抿紧了嘴巴,没咳嗽一声,只静静地坐在那里,微闭着眼,父亲晃动的身影似乎对她没有什么影响。她今晚坐在这里,只是为了明天为我明天的送行。

父亲晃动的身影突然停了下来, 眼睛定格在墙角。我随父亲的身影,眼睛也定格在墙角处。墙角处的土墙爬满了蜘蛛网,漆黑的墙面经过岁月的洗涤有些斑驳,与地面接触处老鼠啃出的大小不一的洞穴,剩下的就是 一些乱七八糟的杂物。父亲的眼睛在杂物中搜寻着,搜寻着。我不知道他在搜寻什么,明天我将远行千里,在此之前,我也思考了无数夜晚,家里贫困,去大学之后,我将节俭,利用节假日挣得学费自食其力,也许一年都不会回家,不是我不想他们,特别母亲的身体让我特别担忧,但生活所迫无可奈何。今晚,父亲应该坐下来和我促膝长谈,谈家庭的情况谈心里话谈未来,可他自始至终都没安静过,也没给我说话的机会。让我的心里窝着一肚子焖火无处发泄。

哦,那是一根光溜溜的扁担,是在父亲母亲肩头上晃悠了大半生的扁担,晃悠着五谷杂粮晃悠着喜怒袁愁晃悠着汗水晃悠着艰苦的日子。父亲怎么突然对这根扁担感起了兴趣?这根看似特殊实际上很普通的一根扁担,在沟里,家家户业内都有,它是村民们日常生活的一部分,没什么稀罕的。父亲拿起了扁担放在他驼起肩上,在堂房里来回走动了几圈,还左右晃动着。父亲难道神经错乱,得了臆症?我真是丈二的和尚——摸不着头脑了。俗话说,顺者为孝,我是家里的独子,打小都没有顶撞过父母亲,即使在叛逆期,我也没有惹他们生过气。明天是个不平凡的日子,在临行前,我能惹父亲生气吗?昏暗的灯光下,他的背如驼峰驼起身子已经佝偻,这是生活、岁月的打磨。我能忍心诘问他吗?就让他如扁担一样去晃悠吧。我视而不闻,忍受着昏暗的灯光及沉闷的空气。

父亲晃悠了一阵子,感觉到扁担有些问题,立起扁担,伸出粗糙的胳膊上下丈量着,丈量了几下,摇摇头,自言自语着,不行,太长了,碍事儿。看着父亲这串动作、表情,我更是丈二的和尚——摸不着头脑了。最后,父亲的眼睛里洒出失望的目光,只得将那根光溜溜的扁担放回了原处,继尔又开始了他无休止的晃悠。我的心情被这晃动的人影子烦透了,吭吭地闷吭了几声,对着觉闷的空气发泄了一番。

父亲根本没有注意到我的情绪,母亲泥塑般的端坐在那里,我只得强忍着心里的不满,让父亲晃动着这沉闷的空气。突然,父亲的眼睛在昏暗的灯光里闪出一道光。目光又转向了墙角,闪动着兴奋、喜悦。父亲真的神经了吗?墙角堆的就是一堆日常用的农具:叉锄、镐锄、钉耙、板锄、纤担、扁担等等。这些东西在他的手上摸了一辈子,摸得溜滑溜滑的,有什么好稀奇的?哎!父亲真是老了,一定犯了老年痴呆症了。他的目光盯在了一根短而丑的锄把上。这根锄把勾起了我的陈年往事儿。

这根锄把是棵千年崖桑做成的,是父亲在北山的悬崖上砍下来的,坚硬而结实,风吹不烂,雨淋不腐,更耐泥土里的酸碱浸蚀,百侵不烂,实属人间罕物。那年,母亲病了,家里的重担就落在父亲一个人的肩头。看着日渐消瘦的父亲,我想给他分担家务, 便起了辍学的念头。那天早晨,当父亲拧着这把千年崖桑的锄头时,我便立在了他的面前,鼓起勇气说,阿爹,我不想上学了,我要帮你干活。谁料,阿爹气得胳膊上青筋暴起,反抡起叉锄把,锃亮的千年崖桑朝我抡了过来。我很机灵,敏捷得一躲,躲过了千年崖桑。父亲一个趔趄,险些摔倒,那千年崖桑由于惯性被抛出了很远。咣当一声,撞击到屋前晒场边上的大青石上,紧挨着锄头处撞裂了。我自知自己闯了大祸,马上打消了辍学的念头,一溜烟地跑向了学校。远远地听到阿爹抛在我身后的一句话:万般皆下贫,唯有读书高。也就是父亲千年崖桑锄把抡醒了我,它就是父亲嘴抛出的那句话,一直激励着我努力学习,直至我榜上有名。我不知道父亲那天有没有去地里干活,但那根千年崖桑锄把是撞坏了,自此,那根撞坏了的千年崖桑锄把就被遗弃在墙角旮旯处无人问津。

父亲的眼睛闪烁着喜悦的光,走到墙角,拿起那根废弃的锄把,在结茧的手中反复抚摸着,像抚摸着一件珍宝,一段真情,一个处在襁褓里的婴儿。不,他是在抚摸过去的一段创伤,在他心中,他不该打我,应该和我促膝长谈,说服我这不听话的儿子。更让他伤心的是他摔坏了与他生活了大半辈子的伴侣,在他心里,一件物件坏了,心里总是缺点什么,也许这点缺憾一直埋在他的内心深处,直至我考取大学,他心里有了些许欣慰——这根千年崖桑锄把摔得值,摔出了一个大学生。哦,我看出来了,他抚摸着光溜锃亮的锄把,就是在抚摸着我。明天就要远行了,他心里有多少的不舍、担忧、牵挂。

让我感到意外的是父亲竟然没有把锄把放回原处,而是放在了他常坐的椅子后背,他也坐了下来,锄把紧挨着他。我感觉到像我小时紧挨着他,那时候我是个乖巧温顺的孩子,是爹娘眼中的宝贝,我常粘着他们。哎,这把废弃的锄把难得父亲的青睐。

父亲不再转悠了,母亲不再咳嗽了,我也坐了下来。室内的灯光变得温和了许多,乌云散去,月明星稀,窗外金黄的稻子飘进了阵阵清香,一切又变得静谧、温馨。

“东子,明天的行李都收拾好了吗?”父亲的话打破了夜的寂静。

嗯,我点了点头。

母亲起身了,去了里间,把家里最值钱的一床棉花被子抱了出来,套进一个薄膜袋子,放在我的行李旁边,然后又悄无声息地坐下。她的一生都是这样,仿佛自己永远是一个无足轻重的人。

夜已经很深了,父亲抿了抿干瘪的嘴巴,想说几句话,可他把到嘴边的话语又给咽了回去。此时无声胜有声,儿子大了,该出去闯荡,雄鹰总不会一直关在笼子里。他总是用他那种温善的目光瞅一会儿,又移开了,最后舍不得的丢下一句话:“时候不早了,睡吧,明天还要赶路。”说罢,他起身进了时间,顺手把那根丑陋的锄把放在了我的行李包中间,母亲随之其后。

这一夜注定是一个不眠之夜,我的脑海里一直闪烁着那把丑陋的锄把,它的两端微微翘起,像父亲微微驼起的脊背,它记录着父亲的岁月、生活、风雨、沧桑。明天,孩儿将要远行,父亲、母亲将是那根废弃的锄把,被孩儿遗弃在这山旮旯里无人问津,想到这里,我的心猛地颤抖了一阵子。不知不觉中,我的眼前又浮现出那根丑陋的锄把,那根废弃的锄把应该早已抛弃,成为灶膛里的柴禾,早应该烟飞灰灭,而如今父亲不但没有抛弃它,而且把它放在了我的行李之中。父亲如此做,到底有什么用意?我百思不得其解,怎么也想不透,一直缠绕着我,让我一夜昏昏入睡、迷迷糊糊。梦中,我又梦见了父亲,父亲一改常态,变得笑容可掬、平易近人,脸上也没刻着沧桑,他和我坐在屋前的香椿树下,银色的的月光如棉被般温柔地覆盖着小山村,一切都那么静谧,我依偎在父亲身旁,听父亲讲着一些妖魔鬼怪故事。父亲是只身逃荒过来的,所以我自打出生时就没有见过爷爷、奶奶,父亲绝口不提爷爷、奶奶的事情,他就充当了爷爷、奶奶的角色。香椿树的嫩芽散发着一阵阵清香,父亲的故事悬疑、离奇,让我如痴如醉,月色很美,父亲很美,父亲的故事更美。

我沉醉于甜甜的睡梦里,被父亲的叫声减醒了:“东儿,该起床了,否则赶不上客车了。” 父亲的叫声是低沉的,像是命令似的,看样子,父亲昨夜也是一夜未眠,而且早早地起了床,一直等我起来。我睁开眼睛,才发现红红的太阳在东边的山坳探出了整个头,忙穿好衣服下了床。父亲早收拾好了行装,就等着我出发。行李就是三大件,两个大蛇皮袋子装着被子及日常生活用品,一个带拖轮的行李箱。我用手掂了掂,三大件中,两个蛇皮袋子足有一百多斤,数行李箱最轻。望着这三大件,我心里有着千斤重担,犯着愁,该怎么办?对于我这个刚走出学校大门的学生来说,这三大件无疑是一座大山,堵住了我的路,父亲的背已成弓形,我不忍心让他驮着这么重的行李,在他面前,我若拈轻怕重,这就是不孝!我便主动走上前去,弯身去驮两大蛇皮袋子。在我身后的父亲一个箭步跨到了我的前面,阻止了我,说:“东娃,你只负责行李箱就行了。”我怔了一下,倔强地说:“爹,你老了,我年轻,还是我来。”这是我第一次关心父亲,也是第一次尽我的孝心。父亲的眼里闪出了一道感动的目光,继尔闪出一道狡黠的目光,说:“东儿,我早已安排好了,我挑着两个蛇皮袋,你拉着行李箱就行了。”他说罢,从行李的缝隙里拿出那根丑陋的锄把,将蛇皮袋上的麻绳往锄把两端缠住,任它东南西北风,也不会滑脱。他弯起强有力的胳膊掂了掂,轻言细语道,嗯,没有多重,说罢,弯下腰便挑起了两袋行李,很轻松地向沟外走出。我忙拉开了行李箱的拖杆尾随其后。

出了沟口,我和父亲便上客车,一路上我很轻松,父亲的后背汗湿了衣服。我不想让父亲再送我了,可他坚持要把我送到学校,轻松地说,不就是多一个人的路费,回来后爹多加两个班就挣回来了。我也就不再坚持了。我看到了他的脸上露出了幸福、欣慰的笑容。也许,在他的一生中送我上学是他最值得骄傲的事情。

我是第一次走出山沟沟去外面的花花世界,心里藏着更多的是喜悦、奔放,哼着小歌,欣赏着外面迷人的风景。父亲也是第一次走出山沟沟,他的脸上刻写着不安、担心、忧患,一声不哼,把所有的心思都深深地埋藏着。

也不知道过了多长时间,客车蜗行过高山飞驰过平原挤入城市的楼群汇入人海里。下车后,我和父亲在人海中挤来挤去。只见父亲一只手捉紧肩上的锄把,锄把没有扁担那么长,两个蛇皮袋紧贴着父亲的前胸后背,任由人流冲来撞去,它们像两个保镖似的总不离父亲前胸后背。哦,我终于想到父亲昨天的忧忧虑,他在为今天的事儿末雨缪谋,没有挑中扁担,而挑中了这根锄把,看来他早已料到扁担长了不宜在人海中挤来冲去,只有这短粗的锄把正合适,将我和父亲紧紧地拴在一起。我拉着拖杆拖着行李箱,被人流挤过来撞过去,父亲腾出来的另一个拉着我的胳膊,把我当成一个未长大的小孩子,生怕我走丢了。

终于走出了人流,走到了去大学宿舍的林荫道上。林荫道上行走的都是父母送子女上学的情景,有悲忧的,也有欢悦的,还有学长学姐们正在迎新,给新生做向导,还有些喜欢拍摄的同学正拿着手机记录着校园不同场面不同的风景。父亲的背上已经汗流浃背,像一汪湖水,中央水汪汪的,边缘已印出白色的盐渍,面对新老同学或陌生的面孔,他点点头憨笑着。我看穿了他的心情,他的一生与文字无缘,扁担大个一字他都不认识,头顶的只是山沟沟里的那方巴掌大的天空,外面的世界他没见,更不用说在这个充满知识、智慧的大学校园里,他感到何等的荣幸,这种荣幸源于我,我高考中榜他才有了这个机会。不,这种荣幸是源于他自己,要不是他一锄把打醒了,我不可能成为天之骄子走出山沟沟。我只能继续着他的命运,面朝黄土背朝天日出而作日落而息耕耘着山沟沟里的一亩三分地。嗯,这份荣幸、自豪是他自己应该得到的。我理解了父亲。

父亲把我安顿下来之后,当天就沿路返回了山沟沟。

晚上,我闲下来了,便打开了手机刷着抖音打发无聊的时光。突然,我的眼睛定格在抖音中一个画面上。天呀,画面是近镜头拍的,是我和父亲的画面。画面是动态的,我和父亲并排走在校园里的一段上坡路上,父亲用锄把挑着两个沉重的蛇皮袋子,坚硬的锄把在他的肩膀上压出了一条深沟,他的一只手稳稳地捉住锄把,让两只沉重的蛇皮袋子永远处于平衡之中,另一只手伸出来,帮我拖着行李箱。画面里夹杂着字正腔圆的普通话:在湖北汽车工业学院的校园里,有一位伟大的父亲,他在自己负重的同时,还帮着孩子拉着行李箱,这就是我们的父亲,这就是伟大的父爱……

这一夜,我久久不能入眠,脑海一直定格在这个画面。我忘不了父亲的锄把,这锄把就是沉重、伟大的父爱!

from https://vip.chinawriter.com.cn/member/wangnengwei/viewarchives_671128.html

古代中国最早的情诗,只有四个字-候人兮猗


我曾住在会稽山麓,涂山村旁,每当推窗运眺,总能看到会稽山上,大禹那尊挥手持耜风尘仆仆的巍峨铜像;每当茶余饭后,总爱徘徊涂山村中,寻找那位痴等苦盼大禹归来的女娇娘娘。

那是一个爱情故事,流传了四千多年!

孟子《滕文公》记载:“当尧之时,天下犹未平,洪水横流,泛滥于天下。草木畅茂,禽兽繁殖,五谷不登,禽兽逼人。兽蹄鸟迹之道,交于中国。尧独忧之,举舜而敷治焉……”由于舜的举荐,禹才担起了治水的重任。他“陆行乘车,水行乘船,泥行乘橇,山行乘琻”。亲劳胼胝,躬历山川,“疏九河,瀹济漯,而注诸海;决汝汉,排淮泗,而注之江。”

年复一年,奔波辗转,直到他来到涂山。

《吕氏春秋》载:“禹年三十未娶。行涂山,恐时暮失嗣,辞曰:‘吾之娶,必有应也。’乃有白狐九尾而造于禹。禹曰:‘白者,吾服也;九尾者,其证也。’于是涂山人歌曰:‘绥绥白狐,九尾庞庞。成于家室,我都攸昌。’于是娶涂山女。”

大禹行到涂山才产生娶妻生子的念头,表面看是他担心年纪大了不能生育,无法完成传宗接代这一历史重任。其实他这里很可能已被爱情之箭射中,这从侧面衬托出涂山女的美丽非凡。当然大禹对自己很是自信,深信“我娶亲,一定会有想嫁我的人”。也可以这样推测,大禹讲此话时可能已与女娇心心相印。接着产生了这样一个插曲:一只长着九条尾巴的白色狐狸来到他面前。因为狐狸是瑞兽,所以禹说“白者,吾服也;九尾者,其证也”。意思是出现白狐,将给衣裳也是白色的自己带来吉利,以此印证他们天作之合的婚姻。涂山人也从白色九尾狐的出现预感到,把自村的一位姑娘嫁给大禹,将会降福涂山,于是编了一首短歌传唱:首句中的“绥绥”描述狐狸独行求匹的样子,次句“庞庞”形容白狐“九尾” 的粗大。前两句比兴引出后两句正题:“成于家室,我都攸昌。”意思是大禹与涂山女子成亲会使当地繁荣昌盛。于是大禹迎娶了这位叫女娇的姑娘。

那时的女娇正是一个情窦初开的美少女。她是涂山氏首领的女儿,一次偶然的机会,她与大禹不期而遇,两人一见钟情,遂结百年之好。虽然两人新婚燕尔如胶似漆,但大禹“不以私害公,自辛至甲四日,复往治水”。

“劳身焦思,居外十三年,过家门不敢入。”(《史记》)从大禹离开家门那一天起,涂山女便开始了漫长的等待,这一等就是四千多个日日夜夜。“禹未之遇。而巡省南土。涂山氏之女。乃令其妾候禹于涂。女乃作歌。歌曰:候人兮猗。”(《吕氏春秋》)也就是说,禹因为巡省南方的水土,与涂山氏女没有再遇见过。涂山氏女令其婢女等候大禹于涂山的南面,并让大家不断吟唱自己所作的情歌:候人兮猗!(兮音为a,猗同兮)

涂山女的歌声比若耶溪水还要清澈,比鉴湖碧波还要缠绵,比会稽松风还要高亢,“候人兮猗……”,“你知道我在等你吗……”那音调时而哀婉,时而凄切,时而低回,时而悲绝,时而喑哑,时而激越……鉴湖水听了开始呜咽,会稽山听了也在掉泪。

两支玉笄横贯过她那墨云似的发髻,一挂玉石串饰在她的颈项上发光,彩霞漂染着她的五色羽衣,鲜花映红了她的俏丽脸庞。她久久地伫立在鉴湖之滨,会稽山上,把自己站立成一尊优雅的雕像。星星似的明眸眺望着苍茫的远方,樱桃似的绣口发出深情的吟唱。她等待着那位一心为民治洪水的英雄,呼唤着那个三过家门也不入的情郎。

这首歌的歌名就叫《涂山女歌》,也叫《候人歌》。这首歌的歌词就是“候人兮猗”。虽然只有短短的四个字,但它是中华民族第一声爱的呼唤,它是我国文学源头最早的爱情诗篇。这则故事使涂山女对大禹的呼唤带有了神话般的美丽,这声歌唱让我们知晓了英雄背后也有浪漫,这声呼唤更让神化了大禹回归到人民中间。

“候人兮猗”,等候我所盼望的人呀,(这时光是多么的漫长啊!) “兮”和“猗”都是语气助词,相当于现代汉语的“啊!”。四个字的歌词语气词已占了一半,充分体现了原始歌曲形成的途径和特色,直接表达了对恋人的大胆相思。“兮”“猗”中包含着深沉赤热的情感,包含着丰富复杂的内涵:希望见到心爱人儿的憧憬渴望,候而不至心上人时的焦虑不安,望而不见心上人后的彷徨忧伤。成功地塑造了一个伫立山头、翘首远盼、长吁短叹、泪流满面的多情女子形象。

“大禹啊大禹,我太想念你,我好想好想见到你,盼你啊盼你!盼望早日见到你!!”这是多么迫切的愿望,多么焦急的心情,多么强烈的感情!这又是多么直接的表达!声声呼唤中,期盼、幽怨、思念,既有对大禹家国为重的百般体谅,更有对自己夫君的刻骨相思。一个女子对爱情的期待,就在这样的含蓄又直白,浪漫而深情的呼唤里,被过往的行人口口相传,直到有一天,传到了正在治水的丈夫耳边。这时大禹饱经风霜的脸上淌下了两行滚烫的热泪,但他一把抹下脸上的泪水,狠狠地甩进滔滔的洪水,然后扛上石耜又大步走向洪水汹涌的远方……

所以,涂山女那声呼唤,既是对大禹,也是对天地,一种爱的深情倾诉,一条爱的无悔宣言。这种爱的深沉和执着、失落和痛苦,其实是一种潜藏的生命自主的意识,尽管就几句描述,一句歌辞,但我们看到的却是一个具有鲜明个性色彩、充满挚情真爱又大胆勇敢的女性形象。

中国的闺怨诗从整体而言,都呈现出一种婉约缠绵幽怨之美,悠长含蓄无尽之味。即使《诗经》也很少写男女双方直白赤裸的爱慕和思念,发展到后来更是把闺怨诗写得含蓄委婉一唱三叹。如“玉颜不及寒鸦色,犹带昭阳日影来”、“寂寞空庭春欲晚,梨花满地不开门”、“含情欲说宫中事,鹦鹉前头不敢言。”都写得缠绵绯恻、沉郁感人。另外还有李清照的“此情无计可消除,才下眉头,却上心头”、“倚遍栏干,只是无情绪!人何处?望断归来路”、“一寸相思千万绪,人间没个安排处”、“天长路远魂飞苦,梦魂不到关山难”。更有“打起黄莺儿,莫叫枝上啼。啼时惊妾梦,不得到辽西”、“闺中少妇不知愁,春日凝妆上翠楼。忽见陌头杨柳色,悔教夫婿觅封候”。所有这些,都没有涂山女这首歌的大胆直率和酣畅淋漓。

后人对《候人歌》评价很高,它虽然只有短短的一句,但经过涂山氏之女的深情一唱,遂成了我国文化史上的著名诗章,被称为南音之始。这首诗开启了中国爱情诗的先河,也成为爱情诗的圭臬。涂山氏,也因此成为中国远古神话的诗歌女神。后来的《诗经》、《楚辞》用“兮”这个字,都明显地受到了这首歌的影响。《诗经·国风》里的那些“乐而不淫,哀而不伤”的诗歌,都可看作是这首诗歌的滥觞。

------------------------------

waiting for you.

awesome-mysql

 awesome-mysql involves mysql index, performance optimization and general problem solving(awesome-mysql涉及mysql的索引,性能优化以及常规的问题解决) 

from https://github.com/leo985/awesome-mysql

------------

A curated list of awesome MySQL software, libraries, tools and resources  

awesome-mysql

A curated list of awesome MySQL free and opensource software, libraries and resources. Awesome

This list accepts and encourages pull requests. See CONTRIBUTING

Contents

Analysis

Performance, structure & data analysis tools

  • Anemometer - Box SQL slow query monitor.
  • innodb-ruby - A parser for InnoDB file formats, in Ruby.
  • innotop - a 'top' clone for MySQL with many features and flexibility.
  • MySQL Explain Analyzer - A web-based analyzer of EXPLAIN FORMAT=JSON output, providing comments, scalability analysis and permalinks for saved samples.
  • mysql-statsd - A Python daemon to collect information from MySQL and send it via StatsD to Graphite.
  • MySQLTuner-perl - A script that allows you to review a MySQL installation quickly and make adjustments to increase performance and stability.
  • Prometheus/mysqld_exporter - Time series database for real-time monitoring and alerting.
  • pstop - a top-like program for MySQL, collecting, aggregating and displaying information from performance_schema.
  • Wireshark - a protocol analyzer that can decode the MySQL protocol.
  • Dolphie - a modern terminal tool for real-time analytics into MySQL/MariaDB & ProxySQL

Backup

Backup/restore/recovery tools

  • Dumpling - Logical, parallel backup/dumper tool for MySQL/TiDB written in GoLang - support csv format output and integrated as library
  • MyDumper - Logical, parallel backup/dumper tool for MySQL
  • Percona Xtrabackup - an open-source hot backup utility for MySQL - based servers that doesn’t lock your database during the backup.

Benchmarking

Tools to stress your servers

  • go-tpc - A golang port of TPCC and TPCH benchmark for MySQL.
  • iibench-mysql - Java based version of the Index Insertion Benchmark for MySQL/Percona/MariaDB.
  • Sysbench - a modular, cross-platform and multi-threaded benchmark tool.
  • TPCC-MySQL (archived) - A port of the popular TPCC benchmark for MySQL.

Binlog-Replication

  • DM - A High-Availability data migration platform which supports migrating data from MySQL/MariaDB to TiDB and merging shard tables
  • Kingbus - A distributed MySQL binlog storage system built on Raft
  • mysql-ripple (archived) - Ripple, a server that can serve as a middleman in MySQL replication

ChatOps

Scripts integrated into chat rooms

Configuration

MySQL sample configuration and advisors

Connectors

MySQL connectors for various programming languages

Deployment

MySQL deployment tools

  • dbdeployer (archived) - A tool that installs one or more MySQL servers within seconds, easily, securely, and with full control.
  • MariaDB4j - A Java launcher to run MariaDB without installation or external dependencies.
  • MySQL Docker - Official Docker images.

Development

Tools to support MySQL-related development

  • Flywaydb - Database migrations; Evolve your database schema easily and reliably across all your instances
  • Liquibase - Source control for your database
  • Shift - An application that helps you run schema migrations on MySQL databases
  • Skeema - Declarative pure-SQL schema management system for MySQL and MariaDB, with support for sharding and external online schema change tools
  • SQLE - SQLE is a SQL audit platform for DBA or developer
  • Test database - A sample MySQL database with an integrated test suite, used to test applications and servers

GUI

GUI frontends & applications

  • Adminer - Database management in a single PHP file.
  • DBeaver - A cross-platform SQL and NoSQL database client.
  • HeidiSQL - MySQL GUI frontend for Windows.
  • ILLA Cloud - Low-code internal tool builder integrated with Mysql, can be used as GUI for Mysql.
  • mycli - A Terminal Client for MySQL with AutoCompletion and Syntax Highlighting.
  • MySQL Shell - Advanced client and code editor for MySQL that supports development and administration for the MySQL Server and MySQL InnoDB cluster (AdminAPI) with an interactive JavaScript, Python, or SQL interface.
  • MySQL Workbench - provides DBAs and developers an integrated tools environment for database design & modeling; SQL devleopment; database administration.
  • Ocelot GUI - GUI client for MySQL or MariaDB, including debugger.
  • OmniDB: Web tool for database management
  • Percona Monitoring and Management - An open-source platform for managing and monitoring MySQL performance.
  • phpMyAdmin - a free software tool written in PHP, intended to handle the administration of MySQL over the Web.
  • pspg - provides a pager with enhanced visualization and navigation for tabular data. Originally implemented for PostgreSQL, but also supports MySQL.
  • Sequel Ace - a Mac database management application for working with MySQL databases.
  • SQLyog Community edition - SQLyog Community edition. For Windows, works fine under wine in Mac and Linux
  • WebDB – Open Source and Efficient Database IDE. Featuring Easy server connection, Modern ERD, Intelligent data generator, AI assistant, NoSQL structure manager, Time machine and Powerful query editor

HA

High availability solutions

  • Galera Cluster - a true Multimaster Cluster based on synchronous replication.
  • mha4mysql-node and mha4mysql-manager (both unmaintained) - Master High Availability Manager and tools for MySQL.
  • Orchestrator - MySQL replication topology management and High Availability solution.
  • Percona Replication Manager - Asynchronous MySQL replication manager agent for Pacemaker. Supports file and GTID based replication, geo-distributed clusters using booth.
  • replication-manager - a high availability solution to manage MariaDB 10.x and MySQL & Percona Server 5.7 GTID replication topologies.

Proxy

Proxies to MySQL

  • MySQL Proxy (deprecated) - A simple program that sits between your client and MySQL server(s) that can monitor, analyze or transform their communication.
  • MySQL Router - MySQL Router is part of InnoDB cluster, and is a lightweight middleware that provides transparent routing between your application and back-end MySQL Servers.
  • ProxySQL - High performance proxy for MySQL.

Replication

Replication related software

  • data-diff - Command-line tool and Python library to efficiently diff rows across two different databases.

Schema

Add-on schemas

  • common_schema - DBA's framework for MySQL, providing a function library, views library and QueryScript interpreter.
  • sys - A collection of views, functions and procedures to help MySQL administrators get insight in to MySQL Database usage.

Security

Tools that prevents leaking of sensitive data from database (encryption, masking and tokenization, honey-pots, etc)

  • Acra - SQL database protection suite: strong selective encryption, SQL injections prevention, intrusion detection system.

Server

MySQL server flavors

  • MariaDB - Community developed fork of MySQL server.
  • MySQL Server & MySQL Cluster - Official Oracle's MySQL server & MySQL Cluster distribution.
  • Percona Server - An enhanced, drop-in MySQL replacement.
  • TiDB - A distributed HTAP database compatible with the MySQL protocol.

Sharding

Sharding solutions/frameworks

  • Jetpants - An automation suite for managing large range sharding clusters, by Tumblr.
  • Vitess - vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services.

Toolkits

Toolkits, general purpose scripts

  • gh-ost - GitHub's online schema migration for MySQL.
  • go-mysql - A pure go library to handle MySQL network protocol and replication.
  • MySQL Utilities (deprecated) - a collection of command-line utilities, written in Python, that are used for maintaining and administering MySQL servers, either individually, or within Replication hierarchies.
  • Percona Toolkit - a collection of advanced command-line tools to perform a variety of MySQL server and system tasks that are too difficult or complex to perform manually.
  • UnDROP - a tool to recover data from dropped or corrupted InnoDB tables.

Resources

At this stage "resources" will not include websites, blogs, slides, presentation videos, etc. in fear of list size

e-books

e-books as well as relevant materials on and around MySQL

  • Database Systems Lecture Notes - lecture notes on Database Systems (available in pdf, html, odt and markdown) including a Chapter on SQL that covers basic set-up, exercises and problems.
  • SQL-exercise - contains several SQL exercises, including the schema description figure, SQL code to build schema, questions and solutions in SQL. Based on wikibook SQL Exercises.

from https://github.com/shlomi-noach/awesome-mysql

-----------

A curated list of awesome links related to MySQL / MariaDB / Percona performance tuning  .

Awesome-MySQL-performance

🔥 A curated list of awesome links related to MySQL / MariaDB / Percona configuration tuning for improved performance.

Common MySQL Tuning articles

MySQL/MariaDB Variables tuning

aria_pagecache_buffer_size

innodb_buffer_pool_chunk_size

innodb_buffer_pool_instances

innodb_buffer_pool_size

innodb_flush_log_at_trx_commit

innodb_flush_method

innodb_log_file_size

innodb_read_io_threads

innodb_write_io_threads

join_buffer_size

key_buffer_size

max_allowed_packet

max_connections

max_heap_table_size

read_rnd_buffer_size

sort_buffer_size

thread_cache_size

thread_pool_size

tmp_table_size

table_open_cache

bulk_insert_buffer_size

Talks

Configuration

  • MySQLTuner-perl - A script that allows you to review a MySQL installation quickly and make recommendations to increase performance and stability.
  • Releem - MySQL Performance Tuning as a Service. Releem helps you to automatically monitor MySQL metrics, and tune MySQL configuration to improve performance and reduce costs of server resources.

from https://github.com/Releem/awesome-mysql-performance

----------

A curated list of awesome MySQL useful queries and commands.  

Awesome MySQL Queries and Commands

A curated list of awesome MySQL useful queries and commands. Inspired by awesome-mysql and awesome-bash-commands.

🏅 Of course, this document needs your help, so consider contributing.

Table of Contents

Commands

Data import

Script file

mysql -h host -P 3306 -u username -p --default_character_set utf8 database_name < mysql_script.sql

Data export

Script file

mysqldump -h localhost -u username -p database_name > ./mysql_script.sql

Or

mysqldump \
    --user=username \
    --host=127.0.0.1 \
    --protocol=tcp \
    --port=3306 -p \
    --default-character-set=utf8 \
    --skip-triggers \
    "database_name" > database_script.sql

GZIP script file

mysqldump -h localhost -u username -p database_name | gzip -c > tables.sql.gz

Or

mysqldump \
    --user=username \
    --host=127.0.0.1 \
    --protocol=tcp \
    --port=3306 -p \
    --default-character-set=utf8 \
    --skip-triggers \
    "database_name" | gzip -c > tables.sql.gz

Use --single-transaction if you got an mysqldump error (because you lack privileges to lock the tables)

mysqldump -h localhost -u username -p database_name --single-transaction | gzip -c > tables.sql.gz

Script file with tables only

mysqldump -h localhost -u username -p database_name table_name1 table_name2 > mydb_tables.sql

Or

mysqldump \
    --user=username \
    --host=127.0.0.1 \
    --protocol=tcp \
    --port=3306 -p \
    --default-character-set=utf8 \
    --skip-triggers \
    "database_name" "table_name1" "table_name2" > mydb_tables.sql

Queries

Users and privileges

Create a root user equivalent for backward compatibility

CREATE USER `my_root_user`@`%` IDENTIFIED WITH mysql_native_password BY 'my_root_pwd';

GRANT Alter, Alter Routine, Create, Create Routine, Create Temporary Tables, 
    Create User, Create View, Delete, Drop, Event, Execute, File, Grant Option, 
    Index, Insert, Lock Tables, Process, References, Reload, Replication Client, 
    Replication Slave, Select, Show Databases, Show View, Shutdown, Trigger, Update,
    Super, Create Tablespace
    ON *.* TO `my_root_user`@`%`;

Note: The above query creates a user using Native Pluggable Authentication. It can useful for backward compatibility MySQL clients. Due Caching SHA-2 Pluggable Authentication is the default authentication plugin on MySQL 8.

Create a user with specific database privileges

CREATE USER `my_user`@`%` IDENTIFIED WITH mysql_native_password BY 'my_password';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE TEMPORARY TABLES, EXECUTE
      ON `my_database`.* TO `my_user`@`%` WITH GRANT OPTION;

Note: User above is an example-purpose only.

Modify specific user privileges

GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'root2'@'%';

Change an user password

ALTER USER 'username'@'localhost' IDENTIFIED BY 'my_new_password';

Select

Finding duplicated values

SELECT code, COUNT(code) duplicates FROM client GROUP BY code HAVING duplicates > 1;

Select one day ago records

SELECT * 
FROM users
WHERE
  `registered` >= CONCAT(SUBDATE(CURDATE(), 1), ' 00:00:00') AND 
  `registered` < CONCAT(CURDATE(), ' 00:00:00')

Utilities

Clean all tables of one existing database

Those queries create a database if doesn't exist (optional) and then removes all tables of one specified database. No root privileges are required, only make sure that the user which executes those queries has enough privileges for that particular database.

Warning: This process cleans up the database removing all existing tables permanently. So make sure to do all necessary tests in a development environment first.

-- -----------------------------------------------------
-- `my_database` clean up process
-- -----------------------------------------------------

-- -----------------------------------------------------
-- 1. Create a new `my_database` database if doesn't exits 
-- This is optional but requires extra privileges
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `my_database` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

-- -----------------------------------------------------
-- 2. Remove all tables of `my_database` database
-- -----------------------------------------------------
SET FOREIGN_KEY_CHECKS = 0;
SET GROUP_CONCAT_MAX_LEN=32768;

USE `my_database`;

SET @tables = NULL;
SELECT GROUP_CONCAT('`', table_name, '`') INTO @tables
FROM information_schema.tables
WHERE table_schema = (SELECT DATABASE());

SELECT IFNULL(@tables, 'dummy') INTO @tables;

SET @tables = CONCAT('DROP TABLE IF EXISTS ', @tables);
PREPARE stmt FROM @tables;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

SET FOREIGN_KEY_CHECKS = 1;

Show databases size in MB or GB

Databases size in GBs

SELECT
    TABLE_SCHEMA "DB_NAME",
    SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024 / 1024), 2)) AS "GB"
FROM information_schema.TABLES
GROUP BY TABLE_SCHEMA;

Databases size in MBs

SELECT
    TABLE_SCHEMA "DB_NAME",
    SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024), 2)) AS "MB"
FROM information_schema.TABLES
GROUP BY TABLE_SCHEMA;

Show status and open database connections

SHOW GLOBAL STATUS LIKE "%conn%";
SHOW GLOBAL STATUS LIKE '%onn%';
SHOW GLOBAL STATUS LIKE '%Connection_errors%';

Show performance schema information per query digest

SELECT
    SCHEMA_NAME AS "Database",
    DIGEST_TEXT AS "Query diggest",
    COUNT_STAR AS "Executed times",
    AVG_TIMER_WAIT AS "Executed average (picoseconds)",
    ROUND((AVG_TIMER_WAIT / 1000 / 1000 / 1000 / 1000), 2) AS "Executed average (seconds)",
    QUERY_SAMPLE_TEXT AS "Query sample",
    QUERY_SAMPLE_SEEN AS "Query sample seen"
FROM performance_schema.events_statements_summary_by_digest
ORDER BY AVG_TIMER_WAIT DESC
LIMIT 15;

Show a summary of current and recent statement events information (picoseconds)

SELECT * FROM performance_schema.events_statements_summary_global_by_event_name AS t
ORDER BY t.COUNT_STAR DESC;

Show tables size of current database in GBs

SELECT
    TABLE_SCHEMA,
    TABLE_NAME,
    TABLE_ROWS,
    ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024/ 1024), 2) TABLE_SIZE_GB
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = DATABASE()
ORDER BY TABLE_SIZE_GB DESC
LIMIT 300;

Summary of all statements executed on each host, along with their associated latencies

SELECT * FROM sys.host_summary_by_statement_type;

Other Awesome Lists

from https://github.com/joseluisq/awesome-mysql-queries-commands