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打開(kāi),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開(kāi)頭的表,用于表示內(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),幫助開(kā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之終端Terminal(dos界面)管理數(shù)據(jù)庫(kù)、數(shù)據(jù)表、數(shù)據(jù)的基本操作
這篇文章主要介紹了MySQL之終端(Terminal)管理數(shù)據(jù)庫(kù)、數(shù)據(jù)表、數(shù)據(jù)的基本操作,需要的朋友可以參考下2015-03-03MySQL學(xué)習(xí)之事務(wù)與并發(fā)控制
這篇文章主要介紹了MySQL中的事務(wù)與并發(fā)控制,一個(gè)事務(wù)可以理解為一組操作,這一組操作要么全部執(zhí)行,要么全部不執(zhí)行,想了解更多的小伙伴,可以參考閱讀本文2023-03-03MySQL命令行中給表添加一個(gè)字段(字段名、是否為空、默認(rèn)值)
本文介紹MySQL數(shù)據(jù)庫(kù)使用SQL語(yǔ)句來(lái)在現(xiàn)有的表中,添加一個(gè)新的字段,包括設(shè)置字段的是否為空、默認(rèn)值等2016-04-04MySQL 字符串截取相關(guān)函數(shù)小結(jié)
本文是腳本之家小編給大家收藏整理的關(guān)于MySQL 字符串截取相關(guān)函數(shù)小結(jié),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2018-04-04ERROR CODE: 1175 YOU ARE USING SAFE UPDATE MODE AN
這篇文章主要介紹了ERROR CODE: 1175 YOU ARE USING SAFE UPDATE MODE AN,本文是在MySQL Workbench的環(huán)境操作,需要的朋友可以參考下2014-11-11MySQL ERROR 1045 (28000): Access denied for user ''root''@''
這篇文章主要介紹了MySQL ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 的原因分解決辦法的相關(guān)資料,需要的朋友可以參考下2016-05-05