mysql error -1_【Mysql】SQLException:?Got?error?-1?from?storage?engine?問題解決!

錯誤信息:

Caused by: java.sql.BatchUpdateException: Got error -1 from storage

engine

at

com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.

at

com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.

at

org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$.savePartition(JdbcUtils.scala:222)

at

org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$$anonfun$saveTable$1.apply(JdbcUtils.scala:289)

at

org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$$anonfun$saveTable$1.apply(JdbcUtils.scala:288)

at

org.apache.spark.rdd.RDD$$anonfun$foreachPartition$1$$anonfun$apply$28.apply(RDD.scala:883)

at

org.apache.spark.rdd.RDD$$anonfun$foreachPartition$1$$anonfun$apply$28.apply(RDD.scala:883)

at

org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1897)

at

org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1897)

at

org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:70)

at org.apache.spark.scheduler.Task.run(Task.scala:85)

at

org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:274)

at

at

at

Caused by: java.sql.SQLException: Got

error -1 from storage engine

at

com.mysql.jdbc.SQLError.createSQLException(SQLError.

at

com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.

at

com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.

at

com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.

at

com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.

at

com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.

at

com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.

at

com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.

... 14 more

解決方法:

是由于innodb_force_recovery的值不為0導致的

問題解決過程 :

①通過sql語句:show

variables like 'innodb_force_recovery';

查看它的值

②如果不為0則會導致某些操作被禁止

③將innodb_force_recovery修改為0

原理分析:

MySQL數據庫,當innodb表空間損壞時候,嘗試啟動數據庫不成功,可以使用innodb_force_recovery參?數進行強制啟動

在主配置文件my.cnf中添加

innodb_force_recovery=6

****************************

innodb_force_recovery參數解釋:

innodb_force_recovery影響整個InnoDB存儲引擎的恢復狀況,默認值為0,表示當需要恢復時執行所有的恢復操作。

當不能進行有效的恢復操作時,mysql有可能無法啟動,并記錄下錯誤日志。

innodb_force_recovery可以設置為1-6,大的數字包含前面所有數字的影響。

當設置參數值大于0后,可以對表進行select,create,drop操作,但insert,update或者delete這類操作是不允許的。

1(SRV_FORCE_IGNORE_CORRUPT):忽略檢查到的corrupt頁

2(SRV_FORCE_NO_BACKGROUND):阻止主線程的運行,如主線程需要執行full

purge操作,會導致crash

3(SRV_FORCE_NO_TRX_UNDO):不執行事務回滾操作。

4(SRV_FORCE_NO_IBUF_MERGE):不執行插入緩沖的合并操作。

5(SRV_FORCE_NO_UNDO_LOG_SCAN):不查看重做日志,InnoDB存儲引擎會將未提交的事務視為已提交。

6(SRV_FORCE_NO_LOG_REDO):不執行前滾的操作。

***************************

修復表空間受損的表:

數據起來后,innodb類型的表不能寫操作,但可以讀,此時對表做check,查找到異常的表,讀取出來,導入到myisam表里面,drop原表

然后在my.cnf中去掉innodb_force_recovery的設置,重啟mysql

把myisam表轉成innodb表;

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/385942.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/385942.shtml
英文地址,請注明出處:http://en.pswp.cn/news/385942.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Mysql 查詢blob數據很慢_blob存入數據庫很慢

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云數據庫專家保駕護航,為用戶…

mysql數據庫文件位置

01 前言 辛苦奮斗兩個月,秋招終于圓滿收官,拿到了頭條、字節、菜鳥、騰訊、網易的offer,這要多虧了意外得到的這份資料文檔,這么多面試全都靠它了,哈哈~~有好東西還是要分享出來給大家,一起學習呀 Java核心…

mysql的altertable_mysqlaltertable修改表命令詳細介紹

MySQL ALTER語法如下:ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec ...]alter_specification:ADD [COLUMN] create_definition [FIRST | AFTER column_name ]or ADD INDEX [index_name] (index_col_name,...)or ADD PRIMARY KEY (index_col_name,...)or…

mysql數據庫連接失敗,挑戰大廠重燃激情!

一、阿里 (會員中臺) 1. Java 重寫hashcode()是否需要重寫equals(),不重寫會有什么后果 2. 并發 自旋鎖和阻塞鎖的區別公平鎖和非公平鎖的區別jdk中哪種數據結構或工具可以實現當多個線程到達某個狀態時執行一段代碼柵欄和閉鎖的區別如何…

mysql 鏈式查詢_MySQL的鏈接查詢

內連接 inner join ....on...../join ....on... :將兩個表中同時符合on條件的記錄查詢出來 inner可以省略select *from person inner join card on person.cardidcard.cardid;外連接 分為左連接、右連接,完全連接左連接:left join ....on…

大廠必備!不斷提升自己創造溢價的能力

前言: 金九銀十過了金三銀四還會遠嘛,本文后面分享面試題給正準備跳槽,準備找工作的你,這次面試字節跳動也是做了很多的準備,還好順利拿到了offer,特分享一下這次的4面技術面真題,可能有些記不全了&#x…

MySQL安裝板多少錢_MySQL安裝板怎么安裝

展開全部1首先,你需要個安裝包,自個去下0如何在官網下載MySQL 數據庫2第一步中,選擇32313133353236313431303231363533e58685e5aeb931333365666165I accept license term,然后Next3默認選第一項Developer Default ,然后Next4這一步中&#xf…

大廠必備!阿里、字節跳動、京東、騰訊、小米等名企高頻面試

一、前言 k8s全稱kubernetes,是目前大熱的一個可移植容器的編排管理工具,像AWS、Azure、Google、阿里云、騰訊云等主流的公有云提供的都是基于k8s的容器服務,很多其他廠商也在努力跟進中,所以說“kubernetes”是目前容器行業中最…

mysql myisam 鎖機制_MySQL--MyISAM之鎖機制

一、概述MySQL有三種鎖的級別:頁級、表級、行級。MyISAM存儲引擎采用的是表級鎖(table-level locking);MySQL這3種鎖的特性可大致歸納如下:表級鎖:開銷小,加鎖快;不會出現死鎖;鎖定粒度大&#…

大廠架構師經驗分享!成功跳槽字節跳動

前言 毫不夸張地說,JVM是現代軟件工程最成功的案例之一。因為它自帶GC,又有無數可以微調的參數,且運行極其穩定可靠,所以,許多廠商的核心業務系統,才敢放心地用Java編寫,運行在JVM之上。 近幾…

java停車場管理系統程序設計代碼_社區養老服務管理系統,java程序設計

登錄界面菜單功能界面1菜單功能界面2菜單功能界面3社區養老服務管理系統設計與實現springspringMVCmybatis框架對象(javaBean,pojo)設計:服務工單javaBean創建語句如下:package project.model;import org.springframework.format.annotation.DateTimeFor…

大廠面試必問!50w字+的Java技術類校招面試題匯總

前言 剛剛過去的雙十一,讓“高性能”“高可用”“億級”這3個詞變成了技術熱點詞匯,也讓很多人再次萌發成為「架構師」的想法。先問大家一個問題:你覺得把代碼熟練、完成需求加上點勤奮,就能成為架構師么?如果你這么認…

c++客戶端發送加鎖_MySQL語句加鎖分析詳解

前言建立一個存儲三國英雄的hero表:CREATE TABLE hero ( number INT, name VARCHAR(100), country varchar(100), PRIMARY KEY (number), KEY idx_name (name)) EngineInnoDB CHARSETutf8;然后向這個表里插入幾條記錄:INSERT INTO hero V…

大廠面試必問!如何寫出高效率的SQL

前言 Spring框架自2002年誕生以來一直備受開發者青睞,它包括SpringMVC、SpringBoot、Spring Cloud、Spring Cloud Dataflow等解決方案。有人親切的稱之為:Spring 全家桶。 很多研發人員把spring看作心目中最好的java項目,沒有之一。所以這是…

accsess轉成mysql語句_輕松教你SQL轉ACCESS

SQL數據庫轉access數據庫步驟: 1. 建立access數據庫:在access中建立access數據庫和表,access字段類型與sql中字段類型的對應關系。 2. 在Access中建表是應注意它的保留關鍵字:比如Password 如果表中的某個字段使用了關鍵字&#x…

大廠首發:2021年Java工作或更難找

前言 提起MySQL,其實網上已經有一大把教程了,為什么我還要寫這篇文章呢,大概是因為網上很多網站都是比較零散,而且描述不夠直觀,不能系統對MySQL相關知識有一個系統的學習,導致不能形成知識體系。為此我撰…

linux mysql 運行狀態_Linux中使用mysqladmin extended-status配合Linux命令查看MySQL運行狀態...

mysqladmin是MySQL一個重要的客戶端,最常見的是使用它來關閉數據庫,除此,該命令還可以了解MySQL運行狀態、進程信息、進程殺死等。本文介紹一下如何使用mysqladmin extended-status(因為沒有"歧義",所以可以使用ext代替…

大廠首發:338頁網易Java面試真題解析火爆全網

前言 為什么互聯網資訊這么發達,但是沒有出現技術人才井噴? 為什么會出現應屆生薪資倒掛多年老員工的現象? 這個世界有太多的現象都可以用**“二八定律”**來解釋。 20%拿著高工資,80%每天掙扎在增刪改查邊緣。 職場一分錢一…

mysql 導入dbm文件_DBM數據導入到mysql數據庫方法

本文章分享一篇關于DBM數據導入到mysql數據庫方法,有需要的同學可以參考一下本實例。首先說明一下,我以前使用PERL,保存文件 用DBM,有5萬多條記錄,每條記錄有15個字段。現在想用MYSQL,要吧記錄導過來。第一…

大牛手把手教你!2021Java最新大廠面試真題

引言 眾所周知,軟件系統有三高:**高并發、高性能、高可用。**三者既有區別也有聯系,門門道道很多,全面討論可以大戰三天三夜。 高并發對于Java開發者來說都不陌生,每年天貓雙十一,秒殺大促等場景阿里都穩…