mysql.proc表字段缺失導(dǎo)致的mysqldump報(bào)錯(cuò)(Got error:1356)

寫(xiě)在最前

1356的錯(cuò)誤扯俱,在前幾天寫(xiě)的mysqldump問(wèn)題集合里面已經(jīng)寫(xiě)過(guò)了,然而本次按照常規(guī)的套路無(wú)法處理這次的1356錯(cuò)誤喇澡,所以單獨(dú)寫(xiě)出來(lái)

1356以及相關(guān)mysqldump錯(cuò)誤參閱這個(gè)問(wèn)題集合:mysqldump問(wèn)題處理集合


IP架構(gòu)

問(wèn)題數(shù)據(jù)庫(kù):172.17.100.106

參考庫(kù):172.17.100.107迅栅、172.17.100.100

106庫(kù)是一個(gè)多次實(shí)驗(yàn)之后,做過(guò)主庫(kù)也做過(guò)從庫(kù)的數(shù)據(jù)庫(kù)晴玖;107庫(kù)是一個(gè)剛剛初始化的新庫(kù)库继;

問(wèn)題描述

執(zhí)行全庫(kù)的mysqldump時(shí)導(dǎo)出報(bào)了一個(gè)1356的權(quán)限錯(cuò)誤

問(wèn)題排查

根據(jù)前面處理1356的經(jīng)驗(yàn)箩艺,對(duì)mysql.proc和information_schema.views進(jìn)行查詢(xún),然而并沒(méi)有發(fā)現(xiàn)任何異常宪萄!

特別是下圖(語(yǔ)句②的執(zhí)行結(jié)果圖)紅框中的host_summary這個(gè)在上圖中出現(xiàn)的報(bào)錯(cuò)視圖艺谆,type和definer可以說(shuō)都是再正常不過(guò)了。

①SELECT definer,type FROM mysql.proc GROUP BY definer,type;

②select TABLE_SCHEMA,table_name,definer,SECURITY_TYPE from information_schema.views;

對(duì)比參考數(shù)據(jù)庫(kù)拜英,發(fā)現(xiàn)106庫(kù)(問(wèn)題庫(kù))的第①個(gè)語(yǔ)句結(jié)果略微有一些不一樣静汤,下圖是107庫(kù)(參考庫(kù))的執(zhí)行結(jié)果

而在106庫(kù)的結(jié)果中,只有第一行

對(duì)106庫(kù)和107庫(kù)分別執(zhí)行mysql.proc的全庫(kù)查詢(xún)發(fā)現(xiàn):107庫(kù)有48行數(shù)據(jù)居凶,而106庫(kù)只有6行數(shù)據(jù)虫给;再參考100庫(kù),數(shù)據(jù)量也遠(yuǎn)遠(yuǎn)不止6條侠碧!

決定先對(duì)106庫(kù)的mysql.proc表進(jìn)行數(shù)據(jù)補(bǔ)全

處理問(wèn)題

思路是先對(duì)106庫(kù)的mysql.proc表進(jìn)行備份抹估,再將107庫(kù)的mysql.proc表數(shù)據(jù)導(dǎo)過(guò)來(lái)

create table qimo.proc select * from mysql.proc;

報(bào)錯(cuò):ERROR 1786 (HY000): Statement violates GTID consistency: CREATE TABLE ... SELECT.

#需要關(guān)閉GTID,此處采用在線關(guān)閉

set global gtid_mode='ON_PERMISSIVE';

set global gtid_mode='OFF_PERMISSIVE';

set global gtid_mode='OFF';

set global?ENFORCE_GTID_CONSISTENCY='OFF'

#再次執(zhí)行

create table qimo.proc select * from mysql.proc;

報(bào)錯(cuò):ERROR 1067 (42000): Invalid default value for 'modified'

典型的sql_mode錯(cuò)誤弄兜,查詢(xún)mysql.proc表可以發(fā)現(xiàn)modified又沖突了药蜻,改sql_mode去

這里還不能帶global,如果是set global sql_mode的話替饿,不會(huì)在這個(gè)會(huì)話里生效

set sql_mode='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

#解決這2個(gè)錯(cuò)誤后语泽,表的復(fù)制完成了


#關(guān)閉GTID,并將107庫(kù)的mysql.proc表進(jìn)行復(fù)制

create database qimo;

create table qimo.pr select * from mysql.proc;

#將107庫(kù)的qimo.proc表導(dǎo)出(僅導(dǎo)出結(jié)構(gòu)-d视卢,數(shù)據(jù)結(jié)構(gòu)都導(dǎo)出則不加-d)

mysqldump -uroot -p密碼 qimo proc > qimo.sql

#將sql拷貝到106庫(kù)踱卵,執(zhí)行單表的導(dǎo)入(導(dǎo)出的單表里面有數(shù)據(jù)和結(jié)構(gòu),但是不會(huì)寫(xiě)表的歸屬數(shù)據(jù)庫(kù)据过,所以在執(zhí)行單表導(dǎo)入的時(shí)候惋砂,需要寫(xiě)明庫(kù)名,比如下面的粗斜體qimo)

mysql -uroot -p密碼 qimo < qimo.sql

將106庫(kù)的2張表合并

use qimo;

insert into proc select * from pr;

#將106庫(kù)的qimo.proc表導(dǎo)出

mysqldump -uroot -p密碼 qimo proc > proc.sql

#查詢(xún)mysql.proc表的建表語(yǔ)句

use mysql;

show create table proc;

#將建表語(yǔ)句復(fù)制下來(lái)绳锅,編輯之前導(dǎo)出的proc.sql

#將建表語(yǔ)句進(jìn)行替換(mysql.proc是系統(tǒng)表西饵,他的建表語(yǔ)句和通過(guò)create table復(fù)制出去的qimo.proc是不同的)

#導(dǎo)入mysql.proc表

mysql -uroot -p密碼 mysql?< proc.sql


為什么不直接insert數(shù)據(jù)到mysql.proc表呢?

系統(tǒng)表是不能加寫(xiě)鎖的榨呆,我也嘗試了直接insert,然后就得到了下面的報(bào)錯(cuò)

insert into mysql.proc select * from qimo.proc;

ERROR 1428 (HY000): You can't combine write-locking of system tables with other tables or lock types


驗(yàn)證

sys庫(kù)下面所有的view已經(jīng)可以正常讀取

執(zhí)行106庫(kù)的全庫(kù)導(dǎo)出也順利完成



后話

測(cè)試庫(kù)只求解決問(wèn)題庸队,干起來(lái)倒是肆無(wú)忌憚积蜻,老實(shí)說(shuō)我也不知道正式庫(kù)到底能不能在生產(chǎn)時(shí)間這么直接去干掉mysql.proc再重建

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市彻消,隨后出現(xiàn)的幾起案子竿拆,更是在濱河造成了極大的恐慌,老刑警劉巖宾尚,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件丙笋,死亡現(xiàn)場(chǎng)離奇詭異谢澈,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)御板,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)锥忿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人怠肋,你說(shuō)我怎么就攤上這事敬鬓。” “怎么了笙各?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵钉答,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我杈抢,道長(zhǎng)数尿,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任惶楼,我火速辦了婚禮右蹦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鲫懒。我一直安慰自己嫩实,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布窥岩。 她就那樣靜靜地躺著甲献,像睡著了一般。 火紅的嫁衣襯著肌膚如雪颂翼。 梳的紋絲不亂的頭發(fā)上晃洒,一...
    開(kāi)封第一講書(shū)人閱讀 49,764評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音朦乏,去河邊找鬼球及。 笑死,一個(gè)胖子當(dāng)著我的面吹牛呻疹,可吹牛的內(nèi)容都是我干的吃引。 我是一名探鬼主播,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼刽锤,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼镊尺!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起并思,我...
    開(kāi)封第一講書(shū)人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤庐氮,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后宋彼,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體弄砍,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡仙畦,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了音婶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片慨畸。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖桃熄,靈堂內(nèi)的尸體忽然破棺而出先口,到底是詐尸還是另有隱情,我是刑警寧澤瞳收,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布碉京,位于F島的核電站,受9級(jí)特大地震影響螟深,放射性物質(zhì)發(fā)生泄漏谐宙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一界弧、第九天 我趴在偏房一處隱蔽的房頂上張望凡蜻。 院中可真熱鬧,春花似錦垢箕、人聲如沸划栓。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)忠荞。三九已至,卻和暖如春帅掘,著一層夾襖步出監(jiān)牢的瞬間委煤,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工修档, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留碧绞,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓吱窝,卻偏偏與公主長(zhǎng)得像讥邻,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子院峡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348