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