最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql中的數據目錄用法及說明

 更新時間:2025年06月26日 15:57:37   作者:在成都搬磚的鴨鴨  
這篇文章主要介紹了mysql中的數據目錄用法及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

1、背景

安裝mysql之后,在安裝目錄下會有一個data目錄,我們創(chuàng)建的數據庫、創(chuàng)建的表、插入的數據都是存儲在這個目錄中,可以大概了解一下這個目錄下是怎么存儲數據的。

2、版本

mysql> status
--------------
E:\mysql_install\mysql\bin\mysql.exe  Ver 8.0.40 for Win64 on x86_64 (MySQL Community Server - GPL)

3、數據目錄

可以通過sql命令來查找數據目錄,命令如下:

mysql> show variables like 'datadir';
+---------------+------------------------------+
| Variable_name | Value                        |
+---------------+------------------------------+
| datadir       | E:\mysql_install\mysql\Data\ |
+---------------+------------------------------+
1 row in set, 1 warning (0.00 sec)

再看看這個目錄有哪些文件:

$ ls E:\\mysql_install\\mysql\\Data\\
'#ib_16384_0.dblwr'   A030414-NC.err          A030414-NC-bin.000003   ca.pem            ib_buffer_pool   mysql.ibd             server-cert.pem   undo_001
'#ib_16384_1.dblwr'   A030414-NC.pid          A030414-NC-bin.index    ca-key.pem        ibdata1          performance_schema/   server-key.pem    undo_002
'#innodb_redo'/       A030414-NC-bin.000001   A030414-NC-slow.log     client-cert.pem   ibtmp1           private_key.pem       sys/
'#innodb_temp'/       A030414-NC-bin.000002   auto.cnf                client-key.pem    mysql/           public_key.pem        

看一下有哪些數據庫:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)

查詢結果有4個可以發(fā)現除了data目錄下除了沒有名為information_schema的目錄,其它三個數據庫都存在同名的目錄,其它三個數據庫的數據就存在對應的同名目錄里,只是information_schema比較特殊。

接下來我們創(chuàng)建一個新的數據庫:

mysql> create database test;

然后可以發(fā)現data目錄下多了一個test的空目錄,里面啥也沒有,每創(chuàng)建一個數據庫,data目錄下就會多一個同名的目錄:

$ ll E:\\mysql_install\\mysql\\Data\\test
total 0

再創(chuàng)建一張InnoDB的表看看:

mysql> use test;
Database changed
mysql> CREATE TABLE test1
    -> (
    ->     id INT AUTO_INCREMENT PRIMARY KEY,
    ->     str1 VARCHAR(255) NOT NULL DEFAULT '',
    ->     str2 VARCHAR(255),
    ->     str3 CHAR(5),
    ->     str4 VARCHAR(255),
    ->     str5 CHAR(10),
    ->     INDEX idx_str1 (str1),
    ->     INDEX idx_str4_str5 (str4, str5)
    -> ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
Query OK, 0 rows affected (0.05 sec)

可以發(fā)現test目錄下產生了一個test1.ibd的二進制文件:

$ ll E:\\mysql_install\\mysql\\Data\\test\\
total 192
-rw-r--r-- 1 xxx 1049089 147456  1月 15 10:11 test1.ibd

我們的表結構信息和插入此表的數據都存在這個文件中,這個文件也可以叫做獨立表空間,里面存儲多個,我們的數據都在頁上。

以前版本的mysql默認使用的是系統(tǒng)表空間,也就是所有表數據和信息存儲到一個公共的地方,對應著數據目錄data下的ibdata1文件,這個文件大小和路徑還有名稱都是可以在配置文件修改的。

有的版本還會把表結構信息單獨存儲到表名.frm里,和存儲數據文件分開。

接下來再創(chuàng)建一個MyISAM存儲引擎的表來看看有什么區(qū)別:

mysql> CREATE TABLE test2
    -> (
    ->     id INT AUTO_INCREMENT PRIMARY KEY,
    ->     str1 VARCHAR(255) NOT NULL DEFAULT '',
    ->     str2 VARCHAR(255),
    ->     str3 CHAR(5),
    ->     str4 VARCHAR(255),
    ->     str5 CHAR(10),
    ->     INDEX idx_str1 (str1),
    ->     INDEX idx_str4_str5 (str4, str5)
    -> ) ENGINE = MyISAM DEFAULT CHARSET = utf8;
Query OK, 0 rows affected, 1 warning (0.02 sec)

查看data目錄下test目錄下有哪些文件:

$ ll -a E:\\mysql_install\\mysql\\Data\\test\\
total 212
drwxr-xr-x 1 xxx 1049089      0  1月 15 10:57 ./
drwxr-xr-x 1 xxx 1049089      0  1月 15 09:59 ../
-rw-r--r-- 1 xxx 1049089 147456  1月 15 10:41 test1.ibd
-rw-r--r-- 1 xxx 1049089      0  1月 15 10:57 test2.MYD
-rw-r--r-- 1 xxx 1049089   4096  1月 15 10:57 test2.MYI
-rw-r--r-- 1 xxx 1049089   7733  1月 15 10:57 test2_366.sdi

發(fā)現生成了與test2相關的3個文件,這3個文件的作用分別為:

  • test2.MYD:存放數據信息
  • test2.MYI:存放索引信息
  • test2_366.sdi:存放表結構信息

有的版本表結構信息是存儲在表名.frm文件中。

4、總結

本文大概講了一下我們插入數據庫的用戶記錄是存儲在哪些目錄哪些文件里的,注意不同版本的數據庫存儲的文件是有區(qū)別的,不過都大差不差,了解一下就行。

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

相關文章

  • MySQL聯合索引與最左匹配原則的實現

    MySQL聯合索引與最左匹配原則的實現

    最左匹配原則在我們MySQL開發(fā)過程中和面試過程中經常遇到,為了加深印象和理解,我在這里把MySQL的最左匹配原則詳細的講解一下,感興趣的可以了解一下
    2023-12-12
  • mysql技巧:提高插入數據(添加記錄)的速度

    mysql技巧:提高插入數據(添加記錄)的速度

    這篇文章主要介紹了mysql技巧:提高插入數據(添加記錄)的速度,需要的朋友可以參考下
    2014-12-12
  • Windows下通過MySQL Installer安裝MySQL服務的教程圖解

    Windows下通過MySQL Installer安裝MySQL服務的教程圖解

    MYSQL官方提供了Installer方式安裝MYSQL服務以及其他組件,使的Windows下安裝,卸載,配置MYSQL變得特別簡單。接下來通過圖文并茂的形式給大家介紹Windows下通過MySQL Installer安裝MySQL服務的教程,一起看看吧
    2018-10-10
  • MySQL的DELETE(刪除數據)用法解讀

    MySQL的DELETE(刪除數據)用法解讀

    本文將詳細介紹DELETE語句的基本語法、高級用法、性能優(yōu)化策略以及注意事項,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • mysql創(chuàng)建的外鍵無法保存的原因以及處理辦法

    mysql創(chuàng)建的外鍵無法保存的原因以及處理辦法

    這篇文章主要介紹了mysql創(chuàng)建的外鍵無法保存的原因以及處理辦法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • MySQL8重置root賬戶密碼圖文教程超詳細講解

    MySQL8重置root賬戶密碼圖文教程超詳細講解

    root賬戶為MySQL的超級管理員用戶,擁有MySQL提供的所有權限,這篇文章主要介紹了MySQL8重置root賬戶密碼圖文教程,需要的朋友可以參考下
    2023-05-05
  • 關于MySQL中的查詢開銷查看方法詳解

    關于MySQL中的查詢開銷查看方法詳解

    一個查詢通??梢杂泻芏喾N執(zhí)行方式,并且返回同樣的結果,而好的程序員應該是找到最好的方式,下面這篇文章主要給大家介紹了關于MySQL中查詢開銷查看方法的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2018-07-07
  • MySQL全量備份的實現

    MySQL全量備份的實現

    全量備份是MySQL數據庫備份的常見方式,本文主要介紹了MySQL全量備份的實現,全量備份和增量備份是 MySQL 數據庫備份的兩種常見方式
    2024-04-04
  • mysql 快速解決死鎖方式小結

    mysql 快速解決死鎖方式小結

    本文講述了在MySQL中識別和終止導致死鎖的SQL語句,通過SHOWENGINEINNODBSTATUS和INFORMATION_SCHEMA表,可以找到死鎖的具體事務,感興趣的可以了解一下
    2024-11-11
  • Mysql學習之創(chuàng)建和操作數據庫及表DDL大全小白篇

    Mysql學習之創(chuàng)建和操作數據庫及表DDL大全小白篇

    本篇文章是MySQL小白入門篇,主要講解創(chuàng)建和操縱數據庫及表懂得了,內容非常全面,有需要的朋友可以借鑒參考下,希望可以有所幫助
    2021-09-09

最新評論

剑河县| 达日县| 巴南区| 仙桃市| 青神县| 黑龙江省| 岚皋县| 司法| 平度市| 临沧市| 澎湖县| 焉耆| 石渠县| 松滋市| 壶关县| 望江县| 宜丰县| 新竹市| 汤原县| 库尔勒市| 清水河县| 广昌县| 丹棱县| 内乡县| 马龙县| 通江县| 策勒县| 盐亭县| 罗城| 奈曼旗| 沅陵县| 南岸区| 胶州市| 迭部县| 珠海市| 钟山县| 杂多县| 大英县| 西丰县| 遂川县| 泾源县|