Direktori data MySQL (ringkasan tersusun)
Artikel ini membawa anda pengetahuan yang berkaitan tentang mysql, yang terutamanya memperkenalkan isu berkaitan tentang direktori data mysql Mari kita lihat bersama-sama.
1 Struktur direktori utama MySQL 8
Selepas memasang MySQL 8, kami melihat struktur Direktori berikut:
1 Laluan storan fail pangkalan data
Laluan storan fail pangkalan data MySQL: /var/lib/mysql/
Seperti yang anda boleh lihat daripada keputusan, direktori data MySQL pada komputer saya ialah /var/lib/mysql/.
1. 2 Direktori arahan berkaitan
Direktori arahan berkaitan: /usr/bin (mysqladmin, mysqlbinlog, mysqldump dan arahan lain) dan / usr /sbin.
1. 3 Direktori fail konfigurasi
Direktori fail konfigurasi: /usr/share/mysql-8.0 (fail arahan dan konfigurasi), / dll/mysql (seperti my.cnf)
[root@atguigu01 ~]# find / -name mysql
mysql> show variables like 'datadir'; +---------------+-----------------+ | Variable_name | Value | +---------------+-----------------+ | datadir | /var/lib/mysql/ | +---------------+-----------------+ 1 row in set (0.04 sec)
2. Hubungan antara pangkalan data dan sistem fail
2. 1 Lihat pangkalan data lalai
Semak pangkalan data yang sedang berada di komputer saya:
Anda boleh lihat di sana adalah 4 Pangkalan data ini ialah pangkalan data sistem yang disertakan dengan MySQL.
Pangkalan data teras yang disertakan dengan sistem MySQL, yang menyimpan akaun pengguna MySQL dan maklumat kebenaran, serta beberapa prosedur dan acara yang disimpan .
maklumat definisi, beberapa maklumat log yang dijana semasa operasi, beberapa maklumat bantuan dan maklumat zon waktu, dsb.
Pangkalan data yang disertakan dengan sistem MySQL Pangkalan data ini menyimpan maklumat tentang semua pangkalan data lain yang diselenggara oleh pelayan MySQL, seperti
Jadual yang mana, yang dilihat, yang mencetuskan, yang lajur, yang mengindeks. Maklumat ini bukan data pengguna sebenar, tetapi beberapa
maklumat deskriptif, kadangkala dipanggil metadata. Beberapa jadual bermula dengan
innodb_sys disediakan dalam information_schema pangkalan data sistem untuk mewakili jadual sistem dalaman.
mysql> SHOW DATABASES;
mysql> USE information_schema; Database changed
mysql> SHOW TABLES LIKE 'innodb_sys%'; +--------------------------------------------+ | Tables_in_information_schema (innodb_sys%) |
Pangkalan data yang disertakan dengan sistem MySQL ini terutamanya menyimpan proses yang sedang berjalan pelayan MySQL beberapa maklumat status dalam boleh digunakan untuk memantau pelbagai penunjuk prestasi perkhidmatan MySQL. Termasuk statistik mengenai pernyataan yang telah dilaksanakan baru-baru ini, berapa lama setiap peringkat proses pelaksanaan mengambil masa, penggunaan memori dan maklumat lain.
Pangkalan data yang disertakan dengan sistem MySQL ini terutamanya menggabungkan information_schema dan
2 Perwakilan pangkalan data dalam sistem fail
Lihat direktori data pada Kandungan komputer saya. : Terdapat banyak fail dan subdirektori dalam direktori data ini Selain pangkalan data sistem information_schema, pangkalan data lain<.>Terdapat subdirektori yang sepadan di bawah direktori data.
+--------------------------------------------+ | INNODB_SYS_DATAFILES | | INNODB_SYS_VIRTUAL | | INNODB_SYS_INDEXES | | INNODB_SYS_TABLES | | INNODB_SYS_FIELDS | | INNODB_SYS_TABLESPACES | | INNODB_SYS_FOREIGN_COLS | | INNODB_SYS_COLUMNS | | INNODB_SYS_FOREIGN | | INNODB_SYS_TABLESTATS | +--------------------------------------------+ 10 rows in set (0.00 sec)
[root@atguigu01 mysql]# cd /var/lib/mysql [root@atguigu01 mysql]# ll 总用量 189980 -rw-r-----. 1 mysql mysql 56 7 月 28 00 :27 auto.cnf -rw-r-----. 1 mysql mysql 179 7 月 28 00 :27 binlog. -rw-r-----. 1 mysql mysql 820 7 月 28 01 :00 binlog. -rw-r-----. 1 mysql mysql 179 7 月 29 14 :08 binlog. -rw-r-----. 1 mysql mysql 582 7 月 29 16 :47 binlog. -rw-r-----. 1 mysql mysql 179 7 月 29 16 :51 binlog. -rw-r-----. 1 mysql mysql 179 7 月 29 16 :56 binlog. -rw-r-----. 1 mysql mysql 179 7 月 29 17 :37 binlog. -rw-r-----. 1 mysql mysql 24555 7 月 30 00 :28 binlog. -rw-r-----. 1 mysql mysql 179 8 月 1 11 :57 binlog. -rw-r-----. 1 mysql mysql 156 8 月 1 23 :21 binlog. -rw-r-----. 1 mysql mysql 156 8 月 2 09 :25 binlog. -rw-r-----. 1 mysql mysql 1469 8 月 4 01 :40 binlog. -rw-r-----. 1 mysql mysql 156 8 月 6 00 :24 binlog. -rw-r-----. 1 mysql mysql 179 8 月 6 08 :43 binlog. -rw-r-----. 1 mysql mysql 156 8 月 6 10 :56 binlog. -rw-r-----. 1 mysql mysql 240 8 月 6 10 :56 binlog.index -rw-------. 1 mysql mysql 1676 7 月 28 00 :27 ca-key.pem -rw-r--r--. 1 mysql mysql 1112 7 月 28 00 :27 ca.pem -rw-r--r--. 1 mysql mysql 1112 7 月 28 00 :27 client-cert.pem -rw-------. 1 mysql mysql 1676 7 月 28 00 :27 client-key.pem drwxr-x---. 2 mysql mysql 4096 7 月 29 16 :34 dbtest -rw-r-----. 1 mysql mysql 196608 8 月 6 10 :58 #ib_16384_0.dblwr -rw-r-----. 1 mysql mysql 8585216 7 月 28 00 :27 #ib_16384_1.dblwr -rw-r-----. 1 mysql mysql 3486 8 月 6 08 :43 ib_buffer_pool -rw-r-----. 1 mysql mysql 12582912 8 月 6 10 :56 ibdata -rw-r-----. 1 mysql mysql 50331648 8 月 6 10 :58 ib_logfile
Ambil pangkalan data temp saya sebagai contoh Bukanya dalam MySQL 5. 7:
2. Perwakilan jadual dalam sistem fail
2 Mod enjin storan-rw-r-----. 1 mysql mysql 50331648 7 月 28 00 :27 ib_logfile -rw-r-----. 1 mysql mysql 12582912 8 月 6 10 :56 ibtmp drwxr-x---. 2 mysql mysql 4096 8 月 6 10 :56 #innodb_temp drwxr-x---. 2 mysql mysql 4096 7 月 28 00 :27 mysql -rw-r-----. 1 mysql mysql 26214400 8 月 6 10 :56 mysql.ibd srwxrwxrwx. 1 mysql mysql 0 8 月 6 10 :56 mysql.sock -rw-------. 1 mysql mysql 5 8 月 6 10 :56 mysql.sock.lock drwxr-x---. 2 mysql mysql 4096 7 月 28 00 :27 performance_schema -rw-------. 1 mysql mysql 1680 7 月 28 00 :27 private_key.pem -rw-r--r--. 1 mysql mysql 452 7 月 28 00 :27 public_key.pem -rw-r--r--. 1 mysql mysql 1112 7 月 28 00 :27 server-cert.pem -rw-------. 1 mysql mysql 1680 7 月 28 00 :27 server-key.pem drwxr-x---. 2 mysql mysql 4096 7 月 28 00 :27 sys drwxr-x---. 2 mysql mysql 4096 7 月 29 23 :10 temp -rw-r-----. 1 mysql mysql 16777216 8 月 6 10 :58 undo_ -rw-r-----. 1 mysql mysql 16777216 8 月 6 10 :58 undo_
[root@atguigu02 mysql]# cd ./temp [root@atguigu02 temp]# ll 总用量 1144 -rw-r-----. 1 mysql mysql 8658 8 月 18 11 :32 countries.frm -rw-r-----. 1 mysql mysql 114688 8 月 18 11 :32 countries.ibd -rw-r-----. 1 mysql mysql 61 8 月 18 11 :32 db.opt -rw-r-----. 1 mysql mysql 8716 8 月 18 11 :32 departments.frm -rw-r-----. 1 mysql mysql 147456 8 月 18 11 :32 departments.ibd -rw-r-----. 1 mysql mysql 3017 8 月 18 11 :32 emp_details_view.frm -rw-r-----. 1 mysql mysql 8982 8 月 18 11 :32 employees.frm -rw-r-----. 1 mysql mysql 180224 8 月 18 11 :32 employees.ibd -rw-r-----. 1 mysql mysql 8660 8 月 18 11 :32 job_grades.frm -rw-r-----. 1 mysql mysql 98304 8 月 18 11 :32 job_grades.ibd -rw-r-----. 1 mysql mysql 8736 8 月 18 11 :32 job_history.frm -rw-r-----. 1 mysql mysql 147456 8 月 18 11 :32 job_history.ibd -rw-r-----. 1 mysql mysql 8688 8 月 18 11 :32 jobs.frm -rw-r-----. 1 mysql mysql 114688 8 月 18 11 :32 jobs.ibd -rw-r-----. 1 mysql mysql 8790 8 月 18 11 :32 locations.frm -rw-r-----. 1 mysql mysql 131072 8 月 18 11 :32 locations.ibd -rw-r-----. 1 mysql mysql 8614 8 月 18 11 :32 regions.frm -rw-r-----. 1 mysql mysql 114688 8 月 18 11 :32 regions.ibd
1 Struktur jadual Untuk menyimpan struktur jadual. , InnoDB Fail
Sebagai contoh, kami mencipta jadual bernama ujian di bawah pangkalan data atguigu: Kemudian jadual bernama test.frm akan dibuat dalam subdirektori yang sepadan dengan pangkalan data atguigu untuk penerangan Fail berstruktur jadual. Format fail .frm adalah sama merentas platform yang berbeza. Akhiran ini adalah .frm dan disimpan dalam format binari Apabila kita membukanya terus, ia akan menjadi kacau bilau .2 Data dan indeks dalam jadual
① Ruang jadual sistem (ruang jadual sistem)
的系统表空间在文件系统上的表示。怎么才 12 M?注意这个文件是自扩展文件,当不够用的时候它会自
当然,如果你想让系统表空间对应文件系统上多个实际文件,或者仅仅觉得原来的ibdata1这个文件名
难听,那可以在MySQL启动时配置对应的文件路径以及它们的大小,比如我们这样修改一下my.cnf 配置
② 独立表空间(file-per-table tablespace)
[root@atguigu01 mysql]# cd ./temp [root@atguigu01 temp]# ll 总用量 1080 -rw-r-----. 1 mysql mysql 131072 7 月 29 23 :10 countries.ibd -rw-r-----. 1 mysql mysql 163840 7 月 29 23 :10 departments.ibd -rw-r-----. 1 mysql mysql 196608 7 月 29 23 :10 employees.ibd -rw-r-----. 1 mysql mysql 114688 7 月 29 23 :10 job_grades.ibd -rw-r-----. 1 mysql mysql 163840 7 月 29 23 :10 job_history.ibd -rw-r-----. 1 mysql mysql 131072 7 月 29 23 :10 jobs.ibd -rw-r-----. 1 mysql mysql 147456 7 月 29 23 :10 locations.ibd -rw-r-----. 1 mysql mysql 131072 7 月 29 23 :10 regions.ibd
表名.frm
mysql> USE atguigu; Database changed
mysql> CREATE TABLE test ( -> c1 INT -> ); Query OK, 0 rows affected (0.03 sec)
[server] innodb_data_file_path=data1:512M;data2:512M:autoextend
在MySQL5.6.6以及之后的版本中,InnoDB并不会默认的把各个表的数据存储到系统表空间中,而是为每
一个表建立一个独立表空间,也就是说我们创建了多少个表,就有多少个独立表空间。使用独立表空间来
存储表数据的话,会在该表所属数据库对应的子目录下创建一个表示该独立表空间的文件,文件名和表
名相同,只不过添加了一个.ibd的扩展名而已,所以完整的文件名称长这样:
比如:我们使用了独立表空间去存储atguigu数据库下的test表的话,那么在该表所在数据库对应
其中test.ibd文件就用来存储test表中的数据和索引。
我们可以自己指定使用系统表空间还是独立表空间来存储数据,这个功能由启动参数
innodb_file_per_table控制,比如说我们想刻意将表数据都存储到系统表空间时,可以在启动
随着MySQL的发展,除了上述两种老牌表空间之外,现在还新提出了一些不同类型的表空间,比如通用
表空间(general tablespace)、临时表空间(temporary tablespace)等。
2. 3. 2 MyISAM存储引擎模式
在存储表结构方面,MyISAM和InnoDB一样,也是在数据目录下对应的数据库子目录下创建了一个专
在MyISAM中的索引全部都是二级索引,该存储引擎的数据和索引是分开存放的。所以在文件系统中也是
使用不同的文件来存储数据文件和索引文件,同时表数据都存放在对应的数据库子目录下。假如test
表使用MyISAM存储引擎的话,那么在它所在数据库对应的atguigu目录下会为test表创建这三个文
表名.ibd
test.frm test.ibd
[server] innodb_file_per_table=0 # 0:代表使用系统表空间; 1 :代表使用独立表空间
mysql> show variables like 'innodb_file_per_table'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_file_per_table | ON | +-----------------------+-------+ 1 row in set (0.01 sec)
表名.frm
举例:创建一个MyISAM 表,使用ENGINE 选项显式指定引擎。因为InnoDB是默认引擎。
2. 4 小结
举例:数据库a,表b。
1 、如果表b采用InnoDB,data\a中会产生 1 个或者 2 个文件:
b.frm :描述表结构文件,字段长度等
如果采用系统表空间模式的,数据信息和索引信息都存储在ibdata1中
如果采用独立表空间存储模式,data\a中还会产生b.ibd文件(存储数据信息和索引信息)
此外:
① MySQL5.7 中会在data/a的目录下生成db.opt文件用于保存数据库的相关配置。比如:字符集、比较
规则。而MySQL8.0不再提供db.opt文件。
② MySQL8.0中不再单独提供b.frm,而是合并在b.ibd文件中。
2 、如果表b采用MyISAM,data\a中会产生 3 个文件:
MySQL5.7 中:b.frm:描述表结构文件,字段长度等。
MySQL8.0 中 b.xxx.sdi:描述表结构文件,字段长度等
b.MYD(MYData):数据信息文件,存储数据信息(如果采用独立表存储模式)
b.MYI(MYIndex):存放索引信息文件
test.frm 存储表结构 test.MYD 存储数据 (MYData) test.MYI 存储索引 (MYIndex)
CREATE TABLE `student_myisam` ( `id` bigint NOT NULL AUTO_INCREMENT, `name` varchar( 64 ) DEFAULT NULL, `age` int DEFAULT NULL, `sex` varchar( 2 ) DEFAULT NULL, PRIMARY KEY (`id`) )ENGINE=MYISAM AUTO_INCREMENT= 0 DEFAULT CHARSET=utf8mb3;
推荐学习:mysql视频教程
Atas ialah kandungan terperinci Direktori data MySQL (ringkasan tersusun). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Laravel adalah rangka kerja PHP untuk membina aplikasi web yang mudah. Ia menyediakan pelbagai ciri yang kuat termasuk: Pemasangan: Pasang Laravel CLI secara global dengan komposer dan buat aplikasi dalam direktori projek. Routing: Tentukan hubungan antara URL dan pengendali dalam laluan/web.php. Lihat: Buat pandangan dalam sumber/pandangan untuk menjadikan antara muka aplikasi. Integrasi Pangkalan Data: Menyediakan integrasi keluar-of-the-box dengan pangkalan data seperti MySQL dan menggunakan penghijrahan untuk membuat dan mengubah suai jadual. Model dan Pengawal: Model mewakili entiti pangkalan data dan proses pengawal permintaan HTTP.

MySQL dan phpmyadmin adalah alat pengurusan pangkalan data yang kuat. 1) MySQL digunakan untuk membuat pangkalan data dan jadual, dan untuk melaksanakan pertanyaan DML dan SQL. 2) Phpmyadmin menyediakan antara muka intuitif untuk pengurusan pangkalan data, pengurusan struktur meja, operasi data dan pengurusan kebenaran pengguna.

Berbanding dengan bahasa pengaturcaraan lain, MySQL digunakan terutamanya untuk menyimpan dan mengurus data, manakala bahasa lain seperti Python, Java, dan C digunakan untuk pemprosesan logik dan pembangunan aplikasi. MySQL terkenal dengan prestasi tinggi, skalabilitas dan sokongan silang platform, sesuai untuk keperluan pengurusan data, sementara bahasa lain mempunyai kelebihan dalam bidang masing-masing seperti analisis data, aplikasi perusahaan, dan pengaturcaraan sistem.

Saya menghadapi masalah yang rumit ketika membangunkan aplikasi kecil: keperluan untuk mengintegrasikan perpustakaan operasi pangkalan data ringan dengan cepat. Selepas mencuba beberapa perpustakaan, saya mendapati bahawa mereka mempunyai terlalu banyak fungsi atau tidak serasi. Akhirnya, saya dapati Minii/DB, versi mudah berdasarkan YII2 yang menyelesaikan masalah saya dengan sempurna.

Ringkasan Artikel: Artikel ini menyediakan arahan langkah demi langkah terperinci untuk membimbing pembaca tentang cara memasang rangka kerja Laravel dengan mudah. Laravel adalah rangka kerja PHP yang kuat yang mempercepat proses pembangunan aplikasi web. Tutorial ini merangkumi proses pemasangan dari keperluan sistem untuk mengkonfigurasi pangkalan data dan menyediakan penghalaan. Dengan mengikuti langkah -langkah ini, pembaca dapat dengan cepat dan cekap meletakkan asas yang kukuh untuk projek Laravel mereka.

Apabila membangunkan laman web e-dagang menggunakan Thelia, saya menghadapi masalah yang rumit: mod MySQL tidak ditetapkan dengan betul, menyebabkan beberapa ciri tidak berfungsi dengan baik. Selepas beberapa penjelajahan, saya dapati modul yang dipanggil TheLiamySqlModesChecker, yang dapat secara automatik membetulkan corak MySQL yang diperlukan oleh Thelia, menyelesaikan masalah saya sepenuhnya.

Di MySQL, fungsi kunci asing adalah untuk mewujudkan hubungan antara jadual dan memastikan konsistensi dan integriti data. Kekunci asing mengekalkan keberkesanan data melalui pemeriksaan integriti rujukan dan operasi cascading. Perhatikan pengoptimuman prestasi dan elakkan kesilapan biasa apabila menggunakannya.

Perbezaan utama antara MySQL dan MariaDB adalah prestasi, fungsi dan lesen: 1. MySQL dibangunkan oleh Oracle, dan Mariadb adalah garpu. 2. MariaDB boleh melakukan lebih baik dalam persekitaran beban tinggi. 3.MariADB menyediakan lebih banyak enjin dan fungsi penyimpanan. 4.MYSQL mengamalkan lesen dua, dan MariaDB adalah sumber terbuka sepenuhnya. Infrastruktur yang sedia ada, keperluan prestasi, keperluan fungsional dan kos lesen perlu diambil kira apabila memilih.
