1. 程式人生 > >Mysql目錄結構與docker啟動引數

Mysql目錄結構與docker啟動引數

1、mysql的配置檔案

# ls /etc/mysql

conf.d  debian.cnf  debian-start  my.cnf

windows下,配置檔案在mysql目錄下,my.ini   ,把my-default.ini重新命名為my.ini ,然後重啟mysql服務(net start mysql)

2、mysql的資料儲存位置

mysql> show global variables like "%datadir%";
+---------------+-----------------+
| Variable_name | Value           |
+---------------+-----------------+
| datadir       | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.00 sec)

2.1 每個資料夾對應一個數據庫,資料夾裡面xxx.frm是每個表的定義資訊,db.opt記錄使用者的一些設定,比如資料編碼為utf-8等資訊。

2.2 InnoDB引擎下,ibdata1、ibdata2是資料檔案,所有資料庫的資料都放在一起。ib_logfile0、ib_logfile1是日誌檔案。

2.3 MyISAM引擎下,.MYD檔案,表資料檔案   .MYI檔案,索引檔案

2.4 所以用docker啟動mysql時,docker run -d -p 3306:3306 -v /data/var/mysql/:/var/lib/mysql -v /data/local/my.cnf:/etc/mysql/my.cnf mysql

3、mysql的啟動,服務其實是呼叫這個命令實現的。

./mysqld --defaults-file=/etc/my.cnf --user=root