1. 程式人生 > >mysql刪除資料庫檔案ibdata1後引發的故障

mysql刪除資料庫檔案ibdata1後引發的故障

進行效能測試是發現大量報錯:

Duplicate entry主鍵重複

可以看到mysql資料庫中已經沒有innodb引擎啟動資訊了

之前發現ibdata1佔用了大量硬碟,為了省出空間刪除了資料庫ibdata1檔案
此時,刪除ibdata1和ib_logfile0,ib_logfile1...再次重啟即可恢復正常
需要注意的是,其中innodb引擎的表被破壞掉了,需要重新匯入


mysql> show engines;


+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| MyISAM             | DEFAULT | MyISAM storage engine                                          | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+

資料庫日誌報錯部分:


相關推薦

mysql刪除資料庫檔案ibdata1引發故障

進行效能測試是發現大量報錯: Duplicate entry主鍵重複 可以看到mysql資料庫中已經沒有innodb引擎啟動資訊了 之前發現ibdata1佔用了大量硬碟,為了省出空間刪除了資料庫ibdata1檔案 此時,刪除ibdata1和ib_logfile0,ib_l

Mysql 刪除 資料庫重複資料 並保留 1 條記錄

查詢所有重複資料 SELECT * FROM table WHERE (col1,col2) IN (SELECT col1,col2 FROM table GROUP BY col1,col2 HAVING count(id) > 1);   由於Mysql 不能對

吳裕雄 05-mysql刪除資料庫

drop database <資料庫名>; 例如刪除名為 RUNOOB 的資料庫:drop database RUNOOB; 使用 mysqladmin 刪除資料庫你也可以使用 mysql mysqladmin 命令在終端來執行刪除命令。以下例項刪除資料庫 RUNOOB(該資料庫在前一章節已建

mysql刪除資料庫所有外來鍵

刪除所有表的外來鍵  查詢schema中所有外來鍵名稱然後拼接生成刪除語句,再執行。 SELECT CONCAT('ALTER TABLE ',TABLE_SCHEMA,'.',TABLE_NAME,' DROP FOREIGN KEY ',CONSTRAINT_NAME,

mysql 刪除資料庫恢復

這幾天看到幾篇關於資料恢復的檔案,沒有實際操作過,先留著,關鍵時候可以保命。 原文:https://dba.stackexchange.com/questions/23251/is-there-a-way-to-recover-a-dropped-mysql-databas

MySQL去除資料庫中小數點多餘的0

有關金額的欄位,資料庫中儲存的是decimal(18,4),所以儲存的資料小數點後會有一些"多餘的"0,頁面展示中又不想顯示這些"多餘的"0,故用mysql的函式處理。 具體處理如下: 表結構如下: 未處理的效果如下: SELECT t.loan_rate, t.

MYSQL刪除表的記錄如何使ID從1開始

方法1: truncate table 你的表名 //這樣不但將資料全部刪除,而且重新定位自增的欄位 方法2: delete from 你的表名 dbcc checkident(你的表名,reseed,0)  //重新定位自增的欄位,讓它從1開始 方法3: 如果你要儲存你的資料,介紹你第三種方法,by QI

Mysql資料庫修復,Ibdata1檔案刪除資料恢復成功

Mysql資料庫Ibdata1檔案刪除資料恢復成功 【客戶描述】 一RAID1網站伺服器,存放Mysql資料庫目錄被惡意刪除,計算機重啟後,Mysql服務啟動後自動建立了Ibdata及系統庫,後又被刪除 【恢復過程】 因資料庫有以前的老備份,檢視備份發現數據庫

系統重灌恢復MySQL資料庫檔案

注:重灌前一定要恢復MySQL安裝目錄下的data資料夾 (D:\MySQL\MySQL Server 5.6\data) 1.MySQL安裝好以後,停止MySQL服務(最好是同一版本的MySQL)。 2.將備份的data檔案下的資料複製到新安裝的MySQL檔案下的data

資料庫分離,刪除日誌檔案,執行附加語句時,資料庫附加失敗

解決方法: 請遵照如下步驟來試圖重建資料庫事務日誌. 注意: 由於事務日誌丟失, 資料庫可能有沒有提交的資料. 注: 所有紅色部分都要替換成真實的資料庫名字 步驟1: 建立一個新的資料庫,命名為原來資料庫的名字. 步驟2: 停止SQL Server 步驟3: 把老資料庫的MDF檔案替換新資料庫的相應的MDF檔

RDS for MySQL 刪除數據空間沒有減少處理方法

port AD 阿裏 狀態 索引 百萬 note ble optimize 公司的程序和數據庫部署在阿裏雲上,數據庫使用的是阿裏雲的RDS,這天,經理在開發群中發了一個信息: 您的RDS實例rm********0oq的磁盤在過去一周平均使用率已超過80.0%,建議您對實例

MySQL刪除數據磁盤空間的釋放情況

MySQL刪除數據後磁盤空間的釋放情況MySQL刪除數據幾種情況以及是否釋放磁盤空間:1、drop table table_name 立刻釋放磁盤空間 ,不管是 Innodb和MyISAM ; 2、truncate table table_name 立刻釋放磁盤空間 ,不管是 Innodb和MyISAM 。t

關於mysql 刪除數據(.MYD,MYI)物理空間未釋放

使用 表優化 數據 lob 大量 cal 定期 blob 特定 關於mysql 刪除數據後物理空間未釋放 OPTIMIZE TABLE 當您的庫中刪除了大量的數據後,您可能會發現數據文件尺寸並沒有減小。這是因為刪除操作後在數據文件中留下碎片所致。OPTIMIZE TABLE

MySQL-載入配置檔案並通過配置檔案連線資料庫

package demo5; import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.S

mysql 匯入超大檔案資料庫

向mysql資料庫中匯入超大檔案資料庫時,如果直接用mysql命令的source + 要匯入的檔案,如果匯入的資料中含有中文,可能會出現錯誤,導致匯入中斷。 所以,如果要匯入的檔案過大,可以使用mysql -u root -p (資料庫密碼) 資料庫名稱 < 要匯入檔案的路徑+檔名 1、首先已

mysql 如何刪除資料庫中所有的表

mysql 如何刪除資料庫中所有的表 直接在命令列輸入以下命令即可 SELECT concat('DROP TABLE IF EXISTS ', table_name, ';') FROM information_schema.tables WHERE table_

定時備份資料庫檔案,定時刪除xx天之前的資料庫備份檔案

1在linux下建立一個指令碼 指令碼中內容為 該指令碼的作用為備份資料庫,生成的資料庫檔案的格式為xxxx20160527.sql   2定時執行備份資料庫指令碼 執行定時任務 點

Mysql資料庫無法啟動,系統找不到指定檔案

一、資料庫無法啟動 新程式部署,將mysql資料夾直接拷過去,進入bin目錄,點選mysqlld.exe,開啟navicat工具提示無法連線: 原因 任務管理中檢視沒有mysql程序,mysql未正常啟動; 解決 將mysql資料夾下的data目錄刪除 wi

Python MySQL - 建立/查詢/刪除資料庫

#coding=utf-8 import mysql.connector import importlib import sys #連線資料庫的資訊 mydb = mysql.connector.connect( host='115.xx.10.121',

mysql資料庫主資料庫down掉,如果進行主從切換。

mysql主從切換 在真實的生產環境中,總會有一些意外。 當企業的資料庫叢集有機器不幸down掉的時候,怎麼把從庫切換成主庫呢。 可以總結為如下步驟   一.登入從庫關閉io程序,確保relay log已被完全執行,並根據當前pos選取出下一個master。 mysql -uroot -