Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ฐานข้อมูล MySQL จัดเก็บที่ไหนในระบบไฟล์

ตำแหน่งที่จัดเก็บไฟล์ฐานข้อมูล MySQL สามารถดูได้จากตัวแปรระบบ @@datadir

รูปแบบคำสั่ง

SELECT @@datadir;

ตัวอย่างผลลัพธ์

mysql> select @@datadir;
+---------------------------------------------+
| @@datadir                                   |
+---------------------------------------------+
| C:\ProgramData\MySQL\MySQL Server 8.0\Data\ |
+---------------------------------------------+

โครงสร้างไฟล์ในโฟลเดอร์ Data

  • แต่ละฐานข้อมูล = โฟลเดอร์หนึ่งโฟลเดอร์
  • ในโฟลเดอร์ฐานข้อมูล จะมีไฟล์ .ibd (InnoDB tablespace) และ .frm (table definition - เก่ากว่า MySQL 8.0)
  • MySQL 8.0+ เก็บ metadata ใน Data Dictionary ไม่ได้ใช้ .frm แล้ว

ตำแหน่งทั่วไปตามระบบปฏิบัติการ

OSตำแหน่งเริ่มต้นทั่วไป
WindowsC:\ProgramData\MySQL\MySQL Server X.Y\Data\
Linux (apt/yum)/var/lib/mysql/
macOS (Homebrew)/usr/local/var/mysql/ หรือ /opt/homebrew/var/mysql/
Docker/var/lib/mysql/ (ใน container)

วิธีเปลี่ยนตำแหน่ง

  1. หยุด MySQL service
  2. ย้ายโฟลเดอร์ Data ไปตำแหน่งใหม่
  3. แก้ไข datadir ในไฟล์ my.cnf หรือ my.ini
  4. ปรับ permission ให้ถูกต้อง
  5. เริ่ม MySQL service ใหม่

คำสั่งดูค่าปัจจุบัน

SHOW VARIABLES LIKE 'datadir';