目錄
數(shù)據(jù)庫文件目錄
/var/lib/MySQL/
可通過以下sql命令查看:
mysql> show variables like 'datadir';
+---------------+-----------------+
| Variable_name | Value |
+---------------+-----------------+
| datadir | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.00 sec)
相關(guān)命令目錄
/usr/bin/
mysqladmin、mysqlbinlog、mysqldump等命令
[root@shanghai01 bin]# cd /usr/bin
[root@shanghai01 bin]# find . -name "*mysql*"
./mysql_secure_installation
./mysql_upgrade
./mysql_migrate_keyring
./mysql_config_editor
./mysqlimport
./mysqlpump
./mysql
./mysqlslap
./mysqld_pre_systemd
./mysqlshow
./mysqlbinlog
./mysqldumpslow
./mysql_ssl_rsa_setup
./mysqlcheck
./mysqladmin
./mysqldump
./mysql_tzinfo_to_sql
/usr/sbin/
[root@shanghai01 bin]# cd /usr/sbin
[root@shanghai01 sbin]# find . -name "*mysql*"
./mysqld
./mysqld-debug
配置文件目錄
/usr/share/mysql-8.0/
錯誤消息,字符集、安裝文件和配置文件等
[root@shanghai01 mysql-8.0]# cd /usr/share/mysql-8.0
[root@shanghai01 mysql-8.0]# ll
total 1100
drwxr-xr-x 2 root root 4096 Apr 25 00:25 bulgarian
drwxr-xr-x 2 root root 4096 Apr 25 00:25 charsets
drwxr-xr-x 2 root root 4096 Apr 25 00:25 czech
drwxr-xr-x 2 root root 4096 Apr 25 00:25 danish
-rw-r--r-- 1 root root 25575 Dec 18 00:07 dictionary.txt
drwxr-xr-x 2 root root 4096 Apr 25 00:25 dutch
drwxr-xr-x 2 root root 4096 Apr 25 00:25 english
drwxr-xr-x 2 root root 4096 Apr 25 00:25 estonian
drwxr-xr-x 2 root root 4096 Apr 25 00:25 french
drwxr-xr-x 2 root root 4096 Apr 25 00:25 german
drwxr-xr-x 2 root root 4096 Apr 25 00:25 greek
drwxr-xr-x 2 root root 4096 Apr 25 00:25 hungarian
-rw-r--r-- 1 root root 3999 Dec 18 00:07 innodb_memcached_config.sql
-rw-r--r-- 1 root root 2216 Dec 18 00:58 install_rewriter.sql
drwxr-xr-x 2 root root 4096 Apr 25 00:25 italian
drwxr-xr-x 2 root root 4096 Apr 25 00:25 japanese
drwxr-xr-x 2 root root 4096 Apr 25 00:25 korean
-rw-r--r-- 1 root root 616528 Dec 18 00:07 messages_to_clients.txt
-rw-r--r-- 1 root root 359072 Dec 18 00:07 messages_to_error_log.txt
-rw-r--r-- 1 root root 1977 Dec 18 00:58 mysql-log-rotate
drwxr-xr-x 2 root root 4096 Apr 25 00:25 norwegian
drwxr-xr-x 2 root root 4096 Apr 25 00:25 norwegian-ny
drwxr-xr-x 2 root root 4096 Apr 25 00:25 polish
drwxr-xr-x 2 root root 4096 Apr 25 00:25 portuguese
drwxr-xr-x 2 root root 4096 Apr 25 00:25 romanian
drwxr-xr-x 2 root root 4096 Apr 25 00:25 russian
drwxr-xr-x 2 root root 4096 Apr 25 00:25 serbian
drwxr-xr-x 2 root root 4096 Apr 25 00:25 slovak
drwxr-xr-x 2 root root 4096 Apr 25 00:25 spanish
drwxr-xr-x 2 root root 4096 Apr 25 00:25 swedish
drwxr-xr-x 2 root root 4096 Apr 25 00:25 ukrainian
-rw-r--r-- 1 root root 1248 Dec 18 00:58 uninstall_rewriter.sql
/etc/my.cnf
[root@shanghai01 /]# cat /etc/my.cnf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html
[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove the leading "# " to disable binary logging
# Binary logging captures changes between backups and is enabled by
# default. It's default setting is log_bin=binlog
# disable_log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
#
# Remove leading # to revert to previous value for default_authentication_plugin,
# this will increase compatibility with older clients. For background, see:
# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
# default-authentication-plugin=mysql_native_password
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
文件
數(shù)據(jù)庫在文件系統(tǒng)中的表示
除了information_schema這個系統(tǒng)數(shù)據(jù)庫外,其他的數(shù)據(jù)庫在數(shù)據(jù)目錄下都有對應(yīng)的子目錄。
[root@shanghai01 ~]# cd /var/lib/mysql/
[root@shanghai01 mysql]# ll
total 188876
-rw-r----- 1 mysql mysql 56 Apr 25 00:43 auto.cnf
-rw-r----- 1 mysql mysql 1433 Apr 25 11:26 binlog.000001
-rw-r----- 1 mysql mysql 16 Apr 25 00:48 binlog.index
-rw------- 1 mysql mysql 1676 Apr 25 00:43 ca-key.pem
-rw-r--r-- 1 mysql mysql 1112 Apr 25 00:43 ca.pem
-rw-r--r-- 1 mysql mysql 1112 Apr 25 00:43 client-cert.pem
-rw------- 1 mysql mysql 1676 Apr 25 00:43 client-key.pem
-rw-r----- 1 mysql mysql 196608 Apr 25 12:11 #ib_16384_0.dblwr
-rw-r----- 1 mysql mysql 8585216 Apr 25 00:43 #ib_16384_1.dblwr
-rw-r----- 1 mysql mysql 5517 Apr 25 00:43 ib_buffer_pool
-rw-r----- 1 mysql mysql 12582912 Apr 25 12:11 ibdata1
-rw-r----- 1 mysql mysql 50331648 Apr 25 12:11 ib_logfile0
-rw-r----- 1 mysql mysql 50331648 Apr 25 00:43 ib_logfile1
-rw-r----- 1 mysql mysql 12582912 Apr 25 00:48 ibtmp1
drwxr-x--- 2 mysql mysql 4096 Apr 25 00:48 #innodb_temp
drwxr-x--- 2 mysql mysql 4096 Apr 25 00:43 mysql
-rw-r----- 1 mysql mysql 25165824 Apr 25 11:25 mysql.ibd
srwxrwxrwx 1 mysql mysql 0 Apr 25 00:48 mysql.sock
-rw------- 1 mysql mysql 6 Apr 25 00:48 mysql.sock.lock
drwxr-x--- 2 mysql mysql 4096 Apr 25 00:43 performance_schema
-rw------- 1 mysql mysql 1680 Apr 25 00:43 private_key.pem
-rw-r--r-- 1 mysql mysql 452 Apr 25 00:43 public_key.pem
-rw-r--r-- 1 mysql mysql 1112 Apr 25 00:43 server-cert.pem
-rw------- 1 mysql mysql 1676 Apr 25 00:43 server-key.pem
drwxr-x--- 2 mysql mysql 4096 Apr 25 00:43 sys
-rw-r----- 1 mysql mysql 16777216 Apr 25 11:27 undo_001
-rw-r----- 1 mysql mysql 16777216 Apr 25 00:55 undo_002
MySQL5.7中會在數(shù)據(jù)庫子目錄下生成db.opt文件,用于保存數(shù)據(jù)庫的相關(guān)配置。比如:字符集、比較規(guī)則。而MySQL8.0不再提供db.opt文件。
表在文件系統(tǒng)中的表示
創(chuàng)建測試數(shù)據(jù)庫和表
CREATE DATABASE db_innodb_myisam;
USE db_innodb_myisam;
CREATE TABLE tb_innodb
(
id INT PRIMARY KEY,
NAME VARCHAR(20) NOT NULL
)
ENGINE = innodb;
SHOW CREATE TABLE tb_innodb;
CREATE TABLE tb_myisam
(
id INT PRIMARY KEY,
NAME VARCHAR(20) NOT NULL
)
ENGINE = myisam;
SHOW CREATE TABLE tb_myisam;
查看數(shù)據(jù)庫目錄下的文件
[root@shanghai01 mysql]# cd /var/lib/mysql/db_innodb_myisam/
[root@shanghai01 db_innodb_myisam]# ll
total 120
-rw-r----- 1 mysql mysql 114688 May 7 14:50 tb_innodb.ibd
-rw-r----- 1 mysql mysql 2901 May 7 14:51 tb_myisam_363.sdi
-rw-r----- 1 mysql mysql 0 May 7 14:51 tb_myisam.MYD
-rw-r----- 1 mysql mysql 1024 May 7 14:51 tb_myisam.MYI
InnoDB存儲引擎模式
表結(jié)構(gòu):
在mysql8以前,為了保存表結(jié)構(gòu),InnoDB會在數(shù)據(jù)目錄下對應(yīng)的數(shù)據(jù)庫子目錄下創(chuàng)建一個專門用于描述表結(jié)構(gòu)的文件,文件名是表名.frm,這個后綴名為.frm是以二進(jìn)制格式存儲的。在mysql8中,表結(jié)構(gòu)和表數(shù)據(jù)一起存在后綴名為.ibd的文件中。
表中數(shù)據(jù)和索引:
系統(tǒng)表空間
默認(rèn)情況下,InnoDB會在數(shù)據(jù)目錄下創(chuàng)建一個名為ibdata1、大小為12M的文件,這個文件就是系統(tǒng)表空間在文件系統(tǒng)上的表示。這個文件是自動擴(kuò)展文件,當(dāng)不夠用的時候它會自己增加文件大小。
當(dāng)然,如果想讓系統(tǒng)表空間對應(yīng)文件系統(tǒng)上多個實際文件,或者想要修改ibdata1這個文件名,那可以在MySQL啟動時,配置對應(yīng)的文件路徑以及它們的大小,比如這樣修改一下my.cnf配置文件:
[server]
innodb_data_file_path=data1:512M;data2:512M:autoextend
獨(dú)立表空間
在MySQL5.6.6以及之后的版本中,InnoDB并不會默認(rèn)的把各個表的數(shù)據(jù)存儲到系統(tǒng)表空間中,而是為每一個表建立一個獨(dú)立表空間,也就是說我們創(chuàng)建了多少個表,就有多少個獨(dú)立表空間。
使用獨(dú)立表空間來存儲表數(shù)據(jù)的話,會在該表所屬數(shù)據(jù)庫對應(yīng)的子目錄下創(chuàng)建一個表示該獨(dú)立表空間的文件,文件名和表名相同,只不過添加了一個.ibd的擴(kuò)展名而已,所以完整的文件名稱長這樣:表名.ibd
例如tb_innodb.ibd中存儲了測試表tb_innodb的結(jié)構(gòu)、數(shù)據(jù)、索引。
可以用ibd2sdi工具解析ibd文件。
系統(tǒng)表空間與獨(dú)立表空間的設(shè)置
可以自己指定使用系統(tǒng)表空間還是獨(dú)立表空間來存儲數(shù)據(jù),這個功能由啟動參數(shù)innodb_file_per_table控制,比如說我們想刻意將表數(shù)據(jù)都存儲到系統(tǒng)表空間時,可以在啟動MySQL服務(wù)器的時候這樣配置:
[server]
innodb_file_per_table=0 # 0:代表使用系統(tǒng)表空間; 1:代表使用獨(dú)立表空間
其他類型的表空間
隨著MySQL的發(fā)展,除了上述兩種老牌表空間之外,現(xiàn)在還新提出了一些不同類型的表空間,比如通用
表空間(general tablespace)、臨時表空間(temporary tablespace)等。
MyISAM存儲引擎模式
表結(jié)構(gòu):
mysql8中后綴為.sdi,mysql5.7中后綴為.frm。
例如tb_myisam_363.sdi中存儲了測試表tb_myisam表結(jié)構(gòu)。
表中數(shù)據(jù)和索引:
在MyISAM中的索引全部都是二級索引,該存儲引擎的數(shù)據(jù)和索引是分開存放的。所以在文件系統(tǒng)中也是使用不同的文件來存儲數(shù)據(jù)文件和索引文件,同時表數(shù)據(jù)都存放在對應(yīng)的數(shù)據(jù)庫子目錄下。
例如tb_myisam.MYD存儲數(shù)據(jù)(MYData)、tb_myisam.MYI存儲索引(MYIndex)。
如果本文對你有幫助,別忘記給我個3連 ,點(diǎn)贊,轉(zhuǎn)發(fā),評論,,咱們下期見。
收藏 等于白嫖,點(diǎn)贊才是真情。
原文
https://www.cnblogs.com/herecwh/p/16242893.html






