mysql數(shù)據(jù)庫(kù)保存路徑查找方式
mysql數(shù)據(jù)庫(kù)保存路徑查找
- sqlyon-創(chuàng)建的表 保存在哪里?
- 數(shù)據(jù)庫(kù)保存路徑
- sql 8.0
1、找到sql配置文件ini

2、不要完全復(fù)制 只復(fù)制到 C:\ProgramData\MySQL\MySQL Server 8.0\my.ini 即可

3、找到配置文件my.ini打開,Ctrl+f,搜索datadir,找到Data目錄,Data目錄即存儲(chǔ)位置

mysql之?dāng)?shù)據(jù)目錄解讀
MySQL8的數(shù)據(jù)目錄
1. mysql8的主要目錄
可以使用 find / -name mysql命令查看mysql的所有目錄。

1.1 數(shù)據(jù)庫(kù)文件的存放目錄
mysql數(shù)據(jù)庫(kù)文件的存放路徑為:/var/lib/mysql
mysql程序在啟動(dòng)時(shí)會(huì)到文件系統(tǒng)的某個(gè)目錄下加載一些文件,之后再運(yùn)行過(guò)程中產(chǎn)生的數(shù)據(jù)也會(huì)存儲(chǔ)到這個(gè)目錄下的某些文件中,這個(gè)路徑就稱為數(shù)據(jù)目錄。
數(shù)據(jù)目錄對(duì)應(yīng)著一個(gè)系統(tǒng)變量datadir ,我們使用客戶端與服務(wù)器建立連接之后查看這個(gè)系統(tǒng)變量的值即可。

1.2 命令目錄
/usr/bin和/usr/sbin
它里面存儲(chǔ)了許多關(guān)于控制客戶端程序和服務(wù)器程序的命令,許多可執(zhí)行文件比如mysql,mysqld,mysqld_safe等。而數(shù)據(jù)目錄是用來(lái)存儲(chǔ)mysql在運(yùn)行過(guò)程中產(chǎn)生的數(shù)據(jù)。
1.3 配置文件目錄
/usr/share/mysql-8.0和/etc/my.cnf
2. 數(shù)據(jù)庫(kù)和文件系統(tǒng)

2.1 默認(rèn)數(shù)據(jù)庫(kù)
mysql自帶4個(gè)系統(tǒng)數(shù)據(jù)庫(kù):
mysql
mysql系統(tǒng)自帶的核心數(shù)據(jù)庫(kù),存儲(chǔ)了mysql的用戶賬戶和權(quán)限信息,一些存儲(chǔ)過(guò)程、事件的定義信息,一些運(yùn)行過(guò)程中產(chǎn)生的日志信息,一些幫助信息以及時(shí)區(qū)信息等。
information_schema
這個(gè)數(shù)據(jù)庫(kù)保存著mysql服務(wù)器所有其他數(shù)據(jù)庫(kù)的信息。比如有那些表、那些視圖、那些觸發(fā)器、那些列、那些索引。這些數(shù)據(jù)并不是真實(shí)的用戶數(shù)據(jù),而是描述性信息,有時(shí)候也稱為元數(shù)據(jù)。在該庫(kù)中提供了一些以innodb_sys開頭的表,用于表示內(nèi)部系統(tǒng)表。
performation_schema
主要保存mysql服務(wù)器運(yùn)行過(guò)程中的一些狀態(tài)信息,可以用來(lái)監(jiān)控mysql服務(wù)的各類指標(biāo)。包括統(tǒng)計(jì)最近執(zhí)行了那些語(yǔ)句,在執(zhí)行過(guò)程的各個(gè)階段都花費(fèi)了多長(zhǎng)時(shí)間,內(nèi)存的使用情況等信息。
sys
該數(shù)據(jù)庫(kù)主要通過(guò)視圖的形式把information_schema和 performation_schema結(jié)合起來(lái),幫助開發(fā)人員監(jiān)控mysql的技術(shù)性能。
2.2 數(shù)據(jù)庫(kù)在文件系統(tǒng)中的表示
使用create database語(yǔ)句創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)時(shí),在文件系統(tǒng)上實(shí)際發(fā)生了什么呢?
每個(gè)數(shù)據(jù)庫(kù)都對(duì)應(yīng)數(shù)據(jù)目錄下的一個(gè)子目錄,每當(dāng)新創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)時(shí),mysql會(huì)做如下兩點(diǎn):
- (1)在數(shù)據(jù)目錄下創(chuàng)建一個(gè)和數(shù)據(jù)庫(kù)名同名的子目錄。
- (2)在該子目錄下創(chuàng)建一個(gè)db.opt的文件(5.7及之前版本),這個(gè)文件中包含了該數(shù)據(jù)庫(kù)的各種數(shù)據(jù),比如該數(shù)據(jù)庫(kù)的字符集和比較規(guī)則。
這個(gè)數(shù)據(jù)目錄下除了information_schema數(shù)據(jù)庫(kù)外,其他數(shù)據(jù)庫(kù)在該目錄下都有對(duì)應(yīng)子目錄。
2.3 表在文件系統(tǒng)中的表示
我們的數(shù)據(jù)其實(shí)都是以記錄的形式插入到表中,每個(gè)表的信息其實(shí)可以分為兩種:
- 表結(jié)構(gòu)的定義
- 表中數(shù)據(jù)
2.3.1 innodb存儲(chǔ)引擎
- 1.表結(jié)構(gòu)
innodb在數(shù)據(jù)目錄下對(duì)應(yīng)的數(shù)據(jù)庫(kù)子目錄下創(chuàng)建一個(gè)專門用于描述表結(jié)構(gòu)的文件,文件名為表名.frm,這個(gè)文件的格式在不同平臺(tái)上都是相同的,以二進(jìn)制格式存儲(chǔ)。
- 2.表中數(shù)據(jù)和索引

系統(tǒng)表空間
默認(rèn)情況下innodb會(huì)在數(shù)據(jù)目錄下創(chuàng)建一個(gè)ibdata1,大小為12M的文件。這個(gè)文件就是對(duì)應(yīng)的系統(tǒng)表空間。該文件可以自擴(kuò)展,當(dāng)不夠用時(shí)會(huì)自己增加文件大小。
可以通過(guò)修改my.cnf來(lái)讓系統(tǒng)表空間對(duì)應(yīng)多個(gè)文件,或者改名字:
innodb_data_file_path = data1:512M;data2:512M:autoextend
這樣mysql啟動(dòng)之后就會(huì)創(chuàng)建兩個(gè)512M大小的文件作為系統(tǒng)表空間,其中autoextend表示自擴(kuò)展。
在mysql5.5.7到mysql5.6.6之間的各個(gè)版本中,我們的表中數(shù)據(jù)都會(huì)默認(rèn)存儲(chǔ)到這個(gè)系統(tǒng)表空間。
獨(dú)立表空間
在mysql5.6.6以及之后的版本,innodb并不會(huì)默認(rèn)的把各個(gè)表的存儲(chǔ)到系統(tǒng)表空間,而是為每一個(gè)表建立一個(gè)獨(dú)立表空間。會(huì)在該表數(shù)據(jù)庫(kù)子目錄下創(chuàng)建一個(gè)表名.ibd的文件
設(shè)置
我們可以自己指定使用系統(tǒng)表空間還是獨(dú)立表空間來(lái)存儲(chǔ)。
這個(gè)功能由啟動(dòng)參數(shù)innodb_file_pre_table控制,比如說(shuō)我們希望將表數(shù)據(jù)都存儲(chǔ)到系統(tǒng)表空間時(shí),可以在配置文件中配置:

- 3. mysql8.0
mysql8.0版本后,沒(méi)有opt和frm文件,數(shù)據(jù)都放在ibd文件中。

2.3.2 MyISAM存儲(chǔ)引擎
- 1.表結(jié)構(gòu)
在存儲(chǔ)表結(jié)構(gòu)方面,myisam和innodb一樣,也是在數(shù)據(jù)目錄下對(duì)應(yīng)的數(shù)據(jù)庫(kù)子目錄下創(chuàng)建了一個(gè)專門用于描述表結(jié)構(gòu)的文件:表明.frm
- 2.表中數(shù)據(jù)和索引

- 3. mysql8.0

2.4 視圖在文件系統(tǒng)中的表示
視圖其實(shí)是虛擬的表,所以在存儲(chǔ)視圖的時(shí)候不需要存儲(chǔ)真實(shí)的數(shù)據(jù),只需要把它的結(jié)構(gòu)存儲(chǔ)起來(lái)就行了。指揮存儲(chǔ)一個(gè)視圖名.frm文件。
2.5 其他文件
除了上邊說(shuō)的用戶自己存儲(chǔ)的數(shù)據(jù)外,數(shù)據(jù)目錄下還包括為了更好運(yùn)行程序的一些額外文件,主要包括:

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
mysql數(shù)據(jù)庫(kù)開發(fā)規(guī)范【推薦】
這篇文章主要介紹了mysql數(shù)據(jù)庫(kù)開發(fā)規(guī)范的相關(guān)內(nèi)容,還是十分不錯(cuò)的,這里給大家分享下,需要的朋友可以參考。2017-10-10
mysql安裝數(shù)據(jù)庫(kù)初始化失敗問(wèn)題解決方法保姆級(jí)教程
這篇文章主要給大家介紹了關(guān)于mysql安裝數(shù)據(jù)庫(kù)初始化失敗問(wèn)題解決方法保姆級(jí)教程,包括更改電腦名稱、確保防火墻設(shè)置、清理殘留文件、檢查權(quán)限和配置文件等,需要的朋友可以參考下2025-01-01
MySQL實(shí)現(xiàn)顯示百分比顯示和前百分之幾的方法
這篇文章主要介紹了MySQL中如何顯示百分比和顯示前百分之幾的,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)MySQL有一定的幫助,感興趣的小伙伴可以了解一下2021-12-12
Linux上通過(guò)binlog文件恢復(fù)mysql數(shù)據(jù)庫(kù)詳細(xì)步驟
binglog文件是服務(wù)器的二進(jìn)制日志記錄著該數(shù)據(jù)庫(kù)的所有增刪改的操作日志,接下來(lái)通過(guò)本文給大家介紹linux上通過(guò)binlog文件恢復(fù)mysql數(shù)據(jù)庫(kù)詳細(xì)步驟,非常不錯(cuò),需要的朋友參考下2016-08-08
MySQL慢查詢?nèi)罩驹斀馀c性能優(yōu)化指南(總結(jié))
慢查詢?nèi)罩臼荕ySQL數(shù)據(jù)庫(kù)性能優(yōu)化的重要工具,通過(guò)分析慢查詢?nèi)罩?我們可以識(shí)別和解決那些影響數(shù)據(jù)庫(kù)性能的瓶頸問(wèn)題,這篇文章主要介紹了MySQL慢查詢?nèi)罩驹斀馀c性能優(yōu)化指南,需要的朋友可以參考下2024-07-07
深入理解MySQL5.7數(shù)據(jù)目錄結(jié)構(gòu)
本文主要簡(jiǎn)單介紹一下MySQL數(shù)據(jù)文件目錄的物理結(jié)構(gòu)和作用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08
navicat連接Mysql數(shù)據(jù)庫(kù)報(bào)2013錯(cuò)誤解決辦法
這篇文章主要介紹了navicat連接Mysql數(shù)據(jù)庫(kù)報(bào)2013錯(cuò)誤的解決辦法,首先檢查MySQL是否安裝成功,然后修改配置文件,添加或注釋掉特定行,最后連接進(jìn)入MySQL服務(wù)并執(zhí)行授權(quán)命令,需要的朋友可以參考下2025-02-02
PHP定時(shí)備份MySQL與mysqldump語(yǔ)法參數(shù)詳解
本文為大家介紹了PHP利用mysqldump命令定時(shí)備份MySQL與mysqldump語(yǔ)法參數(shù)大全以及定時(shí)備份的PHP實(shí)例代碼2018-10-10

