您的位置:首頁技術文章
文章詳情頁

mysql中如何查看表空間

瀏覽:232日期:2023-02-18 16:43:52
目錄
  • mysql 查看表空間
  • mysql 臨時表空間不足解決
    • 查找思路以及解決方案
  • 總結

    mysql 查看表空間

    主要是查看創建的庫和系統自帶的庫大小

    ?- SELECT table_schema,? ? ? ? ?concat(sum(round(data_length / (1024 * 1024), 2)), "MB") ?data_length,? ? ? ? ?concat(sum(round(index_length / (1024 * 1024), 2)), "MB") index_length,? ? ? ? ?concat(sum(round(round(data_length + index_length) / (1024 * 1024), 2)), "MB")total_size FROM information_schema.TABLES group by ?? ?table_schema;

    mysql 臨時表空間不足解決

    當數據量過大時,通過工具(sqlYog、Navicat)查詢表數據時,

    會報Got error 28 from storage engine錯誤

    詳情截圖如下

    網上搜尋好解決方法,好多都是直接清空臨時表空間,感覺不可以行,如果是重要數據,僅僅因為內存不足,清空表空間,造成數據丟失,就得不償失了,經過多方搜尋,

    查找思路以及解決方案

    1.進入mysql自帶的臨時表空間目錄,linux一般為:mysql/data下:cd usr/local/mysql

    2.查看占用內存情況:du -sh *

    3.占用40g內存的即為表數據存放處,如不是重要數據,清空里面的數據即可(數據庫中的數據也同樣會消失)

    4.如是重要數據,修改my.cnf文件(一般再mysql安裝目錄下)在mysqld下面添加tmpdir=/home/mysql (/home/mysql`為自己自定義的表空間)

    5.重啟mysql,會發現,可以正常使用

    總結

    以上為個人經驗,希望能給大家一個參考,也希望大家多多支持。

    標簽: MySQL
    国产综合久久一区二区三区