MySQL 作為一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在我們的日常開發(fā)工作中經(jīng)常會(huì)用到。在我們打開 MySQL 后,它會(huì)自動(dòng)加載和讀取一些文件。那么這些文件是哪些呢?
my.cnf 文件
my.cnf 文件是 MySQL 的主配置文件,我們在啟動(dòng) MySQL 時(shí),系統(tǒng)就會(huì)先去讀取這個(gè)文件。在這個(gè)文件中,包含了 MySQL 的很多配置參數(shù),例如數(shù)據(jù)庫的端口、日志的路徑、緩存大小等等。在一些比較老的版本中,這個(gè)文件可能被稱為 my.ini 文件。對(duì)于不同版本的 MySQL,這個(gè)文件可能有所不同,但其中的大部分參數(shù)都是一樣的。
error-log 文件
error-log 文件是 MySQL 的錯(cuò)誤日志文件,它保存了 MySQL 運(yùn)行時(shí)產(chǎn)生的所有錯(cuò)誤和警告信息,例如語法錯(cuò)誤、連接失敗、權(quán)限錯(cuò)誤等等。默認(rèn)情況下,這個(gè)文件會(huì)被保存在 MySQL 數(shù)據(jù)庫目錄的 data 子目錄下面,文件名為 host_name.err,其中 host_name 表示 MySQL 所在主機(jī)的主機(jī)名。在這個(gè)文件中,我們可以看到 MySQL 的錯(cuò)誤信息,有助于排查問題。
mysql-bin 文件
mysql-bin 文件是 MySQL 的二進(jìn)制日志文件,它記錄了 MySQL 中所有的修改操作,例如插入、更新、刪除等等。默認(rèn)情況下,這個(gè)文件會(huì)被保存在 MySQL 數(shù)據(jù)庫目錄的 data 子目錄下面,文件名為 mysql-bin。在 MySQL 的主從同步場景下,mysql-bin 文件扮演著極為重要的角色,它是數(shù)據(jù)庫從庫獲取主庫變更日志的一種途徑。
mysql.sock 文件
mysql.sock 文件是 MySQL 的 Unix 套接字文件,它是 MySQL 客戶端程序和服務(wù)器程序之間通信的一種方式,它位于 Linux 的 /var/run/mysqld/ 目錄下,之所以把套接字文件放在這個(gè)目錄,是因?yàn)檫@個(gè)目錄對(duì)于 MySQL 來說是一個(gè)比較安全或者說可靠的目錄。經(jīng)常開發(fā)的同學(xué)可能會(huì)遇到 "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'" 這種錯(cuò)誤,這個(gè)錯(cuò)誤表示 MySQL 的 Unix 套接字文件不存在或者連接不上。