Mysql
 sql >> база данни >  >> RDS >> Mysql

Как MySQL съхранява данни

Този въпрос е малко стар, но все пак реших да му отговоря, тъй като ровех малко по същия. Моят отговор се основава на файловата система на Linux. По принцип mySQL съхранява данни във файлове във вашия твърд диск. Той съхранява файловете в определена директория, която има системната променлива "datadir". Отваряне на mysql console и изпълняването на следната команда ще ви каже къде точно се намира папката.

mysql>  SHOW VARIABLES LIKE 'datadir';
+---------------+-----------------+
| Variable_name | Value           |
+---------------+-----------------+
| datadir       | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.01 sec)

Както можете да видите от горната команда, моят "datadir" се намираше в /var/lib/mysql/ . Местоположението на "datadir" може да варира в различните системи. Директорията съдържа папки и някои конфигурационни файлове. Всяка папка представлява mysql база данни и съдържа файлове с данни за тази конкретна база данни. по-долу е екранна снимка на директорията "datadir" в моята система.

Всяка папка в директорията представлява MySQL база данни. Всяка папка на база данни съдържа файлове, които представляват таблиците в тази база данни. Има два файла за всяка таблица, единият с .frm разширение, а другият с .idb разширение. Вижте екранната снимка по-долу.

.frm табличният файл съхранява формата на таблицата. Подробности:Файлов формат MySQL .frm

.ibd файл съхранява данните на таблицата. Подробности:InnoDB File-Per-Table Tablespaces

Това е хора! Надявам се да съм помогнал на някого.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Конструкция на SQL заявка - разделяне на данни в колона в две колони

  2. Как се заключват innodb таблиците, когато тригерът ON INSERT се обработва?

  3. Не мога да създам модел на данни за обект - използвайки MySql и EF6

  4. MySQL тригерът задава стойности за НОВ ред и актуализира друг в същата таблица

  5. Как мога да получа списък с MySQL бази данни в PHP, използвайки PDO?