1. 程式人生 > >MySQL 資料庫檔案 詳解

MySQL 資料庫檔案 詳解

MySQL 的每個資料庫都對應存放在一個與資料庫同名的資料夾中,該資料夾由 MySQL 配置檔案 /etc/my.cnf 定義,其中 datadir=/var/lib/mysql 就指定存放位置,MySQL 資料庫檔案包括 MySQL 所建資料庫檔案和 MySQL 所用儲存引擎建立的資料庫檔案$ cd /var/lib/mysql$ ls # MySQL 資料存放位置,其中 mytest test 資料夾和資料庫同名auto.cnf        client-cert.pem        ib_logfile0        ibtmp1            mysql-bin.000002    mytest            public_key.pem        spring_boot_democa-key.pem        client-key.pem        ib_logfile1        mysql            mysql-bin.000003    performance_schema    server-cert.pem        sys
ca.pem            ib_buffer_pool        ibdata1            mysql-bin.000001    mysql-bin.index        private_key.pem        server-key.pem        test$ cd test$ ll.frm 分別對應一個同名表名total 1584[email protected] 1 mew  staff      24  2 28 13:30 JPA_ADDRESSES.MYD[email protected] 1 mew  staff    2048  2 28 13:30 JPA_ADDRESSES.MYI
[email protected] 1 mew  staff    8624  2 28 12:31 JPA_ADDRESSES.frm[email protected] 1 mew  staff      44  2 28 16:02 JPA_PERSONS.MYD[email protected] 1 mew  staff    3072  2 28 16:02 JPA_PERSONS.MYI[email protected] 1 mew  staff    8734  2 28 16:02 JPA_PERSONS.frm[email protected] 1 mew  staff    8586  3 16 15:58
a.frm[email protected] 1 mew  staff   98304  3 16 15:59 a.ibd[email protected] 1 mew  staff    8803  3 15 17:15 acc_login.frm[email protected] 1 mew  staff  147456  3 16 09:32 acc_login.ibd[email protected] 1 mew  staff      65  2  8 16:43 db.opt[email protected] 1 mew  staff    8618  3  7 15:29 goods.frm[email protected] 1 mew  staff  114688  3  9 16:21 goods.ibd[email protected] 1 mew  staff      18  2 28 12:31 hibernate_sequence.MYD[email protected] 1 mew  staff    1024  2 28 12:31 hibernate_sequence.MYI[email protected] 1 mew  staff    8568  2 28 12:31 hibernate_sequence.frm[email protected] 1 mew  staff    8733  3  7 14:58 methodLock.frm[email protected] 1 mew  staff  114688  3  7 15:02 methodlock.ibd[email protected] 1 mew  staff    8636  3  9 16:26 score.frm[email protected] 1 mew  staff   98304  3  9 16:26 score.ibd[email protected] 1 mew  staff    8714  3  8 10:10 time.frm[email protected] 1 mew  staff   98304  3  9 16:22 time.ibdMySQL 建立並管理的資料庫檔案 :.frm檔案 : 儲存資料表的框架結構,檔名與表名相同,每個表對應一個同名 frm檔案,與作業系統和儲存引擎無關,即不管 MySQL 執行在何種作業系統上,使用何種儲存引擎,都有這個檔案。除了必有的 .frm檔案,根據 MySQL 所使用的儲存引擎的不同 (MySQL 常用的兩個儲存引擎是 MyISAM 和 InnoDB),儲存引擎會建立各自不同的資料庫檔案MyISAM 表文件 :.MYD : 即 MY Data,表資料檔案.MYI : 即 MY Index,索引檔案.log : 日誌檔案InnoDB 表文件 : 採用表空間 (tablespace) 來管理資料,儲存表資料和索引,InnoDB 資料庫檔案 (即 InnoDB檔案集,ib-file set)ibdata1、ibdata2等 : 系統表空間檔案,儲存 InnoDB系統資訊和使用者資料庫表資料和索引,所有表共用,即 共享表空間資料檔案.ibd : 單表表空間檔案,每個表使用一個表空間檔案 (file per table),存放使用者資料庫表資料和索引日誌檔案 : ib_logfile1、ib_logfile2InnoDB 有 共享表空間 和 獨立表空間 兩種,MySQL 預設使用獨立表空間,可以在 MySQL 配置檔案 [mysqld] 部分增加 innodb_file_per_table 引數進行設定獨立表空間 :優點 :1> 每個表都有自已獨立的表空間2> 每個表的資料和索引都會存在自已的表空間中3> 可以實現單表在不同的資料庫中移動4> 空間可以回收 (除 drop table 操作處,表空不能自已回收)     <1> drop table 操作自動回收表空間,如果對於統計分析或是日值表,刪除大量資料後可以通過 : alter table TableName engine=innodb; 回縮不用的空間     <2> 對於使 innodb-plugin 的 Innodb 使用 turncate table 也會使空間收縮     <3> 對於使用獨立表空間的表,不管怎麼刪除,表空間的碎片不會太嚴重的影響效能,而且還有機會處理缺點 :單表增加過大,如超過100個G檢視當前使用的是 共享表空間 還是 獨立表空間mysql> show variables like '%innodb_file_per%';+-----------------------+-------+| Variable_name         | Value |+-----------------------+-------+| innodb_file_per_table | ON    |    ON 代表獨立表空間管理,OFF 代表共享表空間管理+-----------------------+-------+1 row in set (0.01 sec)mysql> set global innodb_file_per_table=off; # 設定為共享表空間管理Query OK, 0 rows affected (0.01 sec) 在 my.cnf 中 [mysqld] 下設定 innodb_file_per_table=0 也可以關閉獨立表空間

相關推薦

MySQL 資料庫檔案

MySQL 的每個資料庫都對應存放在一個與資料庫同名的資料夾中,該資料夾由 MySQL 配置檔案 /etc/my.cnf 定義,其中 datadir=/var/lib/mysql 就指定存放位置,MySQL 資料庫檔案包括 MySQL 所建資料庫檔案和 MySQL 所用儲存引

MySQL資料庫配置

下面是我生產環境中MySQL的配置詳解: [mysqld] mysql服務端配置 server-id=1 服務ID,每個服務的服務ID不同即可 log-bin=mysql-bin 定義bin_log的位置和名稱,mysql操作記錄二進位制日誌 rel

MySQL資料庫安裝(解決msvcp100.dll錯誤)

一、官方下載 2、進入網頁後,往下翻↓,選擇版本、平臺、系統,點選下載 3、進入網頁後,兩種下載方式        3.1 需要註冊MySQL賬戶下載        3.2 不進行註冊,直接下載(推薦) 二、開始安裝 1、找到下載的zip檔案解

MYSQL資料庫知識(1)

目錄 基本DDL語句—建表語句CREATE TABLE 基本DML語句-INSERT/UPDATE/DELECT 基本DQL語句-SELECT DDL語句—建表語句CREATE TABLE 1、資料庫 檢視所有資料庫 show databases;

Mysql配置檔案 my.cof

Mysql配置檔案詳解    # For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html # *** DO

MySQL日誌檔案

“—binlog-ignore-db=db_name”與“—binlog-do-db=db_name”兩個引數有一個共同 的概念需要大家理解清楚,引數中的db_name 不是指 query 語句更新的資料所在的資料庫, 而是執行 query 的時候當前所處的資料庫。 不論更新哪個資料庫的資料,MySQL 僅

mysql資料庫觸發器

1. 引言   Mysql的觸發器和儲存過程一樣,都是嵌入到mysql的一段程式。觸發器是mysql5新增的功能,目前線上鳳巢系統、北斗系統以及哥倫布系統使用的資料庫均是mysql5.0.45版本,很多程式比如fc-star管理端,sfrd(da

MySQL資料庫基礎

文章大綱 一、資料庫簡介二、Mysql資料庫簡介三、Mysql安裝與服務啟動(Windows版本)四、Mysql圖形化工具五、Mysql儲存引擎精講六、Mysql資料型別介紹七、Mysql主要專業名稱介紹八、Mysql常見sql語句九、Mysql設計與語句優化十、事務介紹十一、Mysql資料庫備份與恢復十二

python介面自動化(三十八)-python操作mysql資料庫

簡介   現在的招聘要求對QA人員的要求越來越高,測試的一些基礎知識就不必說了,來說測試知識以外的,會不會一門或者多門開發與語言,能不能讀懂程式碼,會不會Linux,會不會搭建測試系統,會不會常用的資料庫,會不會SQL等等,因此我們這篇文章來講解如何用 python語言操作mysql資料庫。  

Ubuntu下HBase資料庫的安裝和配置檔案

1.從http://www.apache.org/dyn/closer.cgi/hbase/下載穩定版安裝包,我下的是hbase-1.2.6-bin.tar.gz 2.解壓放在/usr/local的目錄下 3.修改許可權sudo chown -R luanpeng hbase-1.2.6/ 4.修改資料

hibernate與資料庫表的對映檔案(Customer.hbm.xml)

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC     "-//Hibernate/Hibernate Mapping DTD 3.0//EN" &nb

MySQL配置檔案mysql.ini引數MySQL效能優化

my.ini(Linux系統下是my.cnf),當mysql伺服器啟動時它會讀取這個檔案,設定相關的執行環境引數。 my.ini分為兩塊:Client Section和Server Section。 Client Section用來配置MySQL客戶端引數。 要檢視配置引

MySQL觸發器使用

變量 inno 出錯 小寫 基本操作 插入 yun date 關鍵字 原文鏈接 MySQL包含對觸發器的支持。觸發器是一種與表操作有關的數據庫對象,當觸發器所在表上出現指定事件時,將調用該對象,即表的操作事件觸發表上的觸發器的執行。 創建觸發器在mysql中,創建觸發器

mysql group by

target ron 分組 tar 一個 詳解 targe strong 字段 GROUP BY X意思是將所有具有相同X字段值的記錄放到一個分組裏。 那麽GROUP BY X, Y呢? GROUP BY X, Y意思是將所有具有相同X字段值和Y字段值的記錄放到一個分組

MySQL之索引

分布 i/o .cn 能夠 b+ images 電路 普通 磁道 這篇博客將要闡述為什麽使用b+樹作為索引,而不是b樹或者其他樹 1.什麽是b樹

三、mysql登錄及版本號查詢

ppa l數據庫 server gpo 方法 win sql查詢 spa nbsp 1.用window+r,輸入cmd,用mysql -uuser -ppassword登錄時出現‘mysql’不是有效的內部命令? 答:這是因為沒有配置My

MySQLmysql命令使用

common follow for page zed rds wait sca dex MySQL Name mysql - the MySQL command-line tool Synopsis mysql [options] db_name Descripti

MySQL主從說明MySQL主從不同步處理方案

mysql mysql主從 mysql復制 mysql主從不同步 MySQL主從說明 同步問題 mysqldump:此工具適用於10G以下數據庫或幾個表percona-Xtrabackup備份工具:適用於100G-500GLVM快照:更大的數據量,或分庫分表 主從復制目的 讀寫分離,減

MySQL Online DDL

summary hat toc ise columns 性能 alc primary AS MySQL online DDL的功能就是在對表就行DDL操作的同時也可以對表進行讀寫操作,即對表的DDL操作不會影響該表上的事務。 該功能的優點: 改善繁忙生產環境的響

高效性MySQL集群(一)

二進制日誌 網絡 keepal font 集群 二進制 數據讀寫 腦裂 sun 一.常見的高可用MySQL解決方案: 1.常見的高可用MySQL解決方案: 數據庫作為最基礎的數據存儲服務之一,在存儲系統中有著非常重要的地址,因此要求其具備高可用性無可厚非。能實現不同SL