MySQL之InnoDB之更換資料表空間

來源:互聯網
上載者:User

今天在遷移zabbix資料庫時碰到一個共用資料表空間無法釋放的問題,由於mysql預設使用的是innodb儲存引擎,當刪除一個很大的資料時,由於強制中斷操作造成共用資料表空間不能釋放,同時需要刪除的資料庫也無法刪除掉,這樣,共用資料表空間裡仍存有未被完全刪除的資料庫的資訊。從而造成資料表空間無法釋放的問題。

當我們想釋放或更換共用資料表空間時正確的步驟如下:
重新設定共用資料表空間
1.查看當前存在的資料庫

mysql> show databases;
+--------------------+
| Database          |
+--------------------+
| information_schema |
| mysql              |
| test              |
| zhujiangtao        |
+--------------------+
4 rows in set (0.00 sec)

2.備份那些儲存引擎是innodb的資料庫,當然若有其他的資料庫,也需要備份,只是本文是針對innodb儲存引擎而言的。

[root@zhu2 var]# mysqldump zhujiangtao > /tmp/zhu.sql #根據需要可對mysqldump使用具體的參數

3.關閉mysql資料庫

[root@zhu2 ~]# service mysqld stop
Shutting down MySQL..                                      [確定]


4.刪除innodb儲存引擎的共用資料表空間和記錄檔以及使用innodb儲存引擎的表的.frm檔案

[root@zhu2 var]# ll /opt/mysql/var/
總計 45880
-rw-rw---- 1 mysql mysql 35651584 10-18 00:51 ibdata1
-rw-rw---- 1 mysql mysql  5242880 10-18 00:51 ib_logfile0
-rw-rw---- 1 mysql mysql  5242880 10-18 00:51 ib_logfile1
[root@zhu2 var]# rm -rf ibdata1 #刪除資料表空間
[root@zhu2 var]# rm -rf ib_logfile* #刪除記錄檔
[root@zhu2 var]# rm -rf zhujaingtao/student.frm #刪除innodb表的.frm
檔案


5.重新設定共用資料表空間

innodb_data_file_path = ibdata1:100M:autoextend

更多詳情見請繼續閱讀下一頁的精彩內容:

推薦閱讀:

InnoDB儲存引擎的啟動、關閉與恢複

MySQL InnoDB獨立資料表空間的配置

MySQL Server 層和 InnoDB 引擎層 體繫結構圖

InnoDB 死結案例解析

MySQL Innodb獨立資料表空間的配置

  • 1
  • 2
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.