【趙渝強老師】MySQL的引數檔案

赵渝强老师發表於2024-11-22

在MySQL例項啟動時,資料庫會先去讀一個配置引數檔案(my.cnf),用來尋找資料庫的各種檔案所在位置以及指定某些初始化引數。在預設情況下,MySQL例項會按照一定的順序在指定的位置進行讀取,透過下面的語句可以檢視讀取引數檔案的順序。

mysql --help | grep my.cnf

# 輸出的資訊如下:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf

#提示:如果想指定預設的引數檔案,需要配合--defaults-file選項,如:
mysqld --defaults-file=/etc/my3306.cnf &

影片講解如下:
https://www.bilibili.com/video/BV1Yyeje2Ecd/?aid=112958176757...

這裡展示了一個典型的my.cnf引數檔案。

[mysqld]
server-id=1
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
log-error=/usr/local/mysql/data/error.log
socket=/tmp/mysql.sock
pid-file=/usr/local/mysql/data/mysql.pid
character-set-server=utf8
lower_case_table_names=1
innodb_log_file_size=1G
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
[client]
port=3306
default-character-set=utf8

在my.cnf檔案中,引數分為Server Section和Client Section兩塊,下表列出了一些主要的引數及其含義。
image.png

MySQL把引數分為兩類:動態引數靜態引數

  • 動態引數
    MySQL例項在執行的過程中可以對引數進行線上的修改。可以透過命令set global或者set session兩個命令在資料庫中完成設定。
  • 靜態引數
    顧名思義,就是無法線上修改引數。必須透過my.cnf引數檔案進行修改,修改後需要重啟MySQL資料庫服務。

相關文章