溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql的配置文件是哪個

發布時間:2022-06-28 11:34:22 來源:億速云 閱讀:5112 作者:iii 欄目:MySQL數據庫

這篇文章主要講解了“mysql的配置文件是哪個”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“mysql的配置文件是哪個”吧!

Windows操作系統中的MySQL配置文件是“my.ini”,位置一般在MySql安裝的根目錄下,也有可能在隱藏文件夾“ProgramData”下面;而Linux操作系統中的MySQL配置文件是“my.cnf”,位置一般在“/etc/my.cnf”或“/etc/mysql/my.cnf”目錄下。

本教程操作環境:linux7.3&&windows7系統、mysql8版本、Dell G3電腦。

Windows操作系統中 MySQL 的配置文件 my.ini;Linux 操作系統中 MySQL 的配置文件是 my.cnf。

  • 一般情況下,my.ini 在 MySql 安裝的根目錄下,也有可能在隱藏文件夾“ProgramData”下面。

  • 一般情況下,my.cnf 在 /etc/my.cnf 或 /etc/mysql/my.cnf 目錄下

my.ini 配置文件

my.ini 是 MySQL 默認使用的配置文件,一般情況下,只要修改 my.ini 配置文件中的內容就可以對 MySQL 進行配置。

除了上述介紹的目錄,MySQL 安裝目錄下可能還有幾個后綴名為.ini的配置文件,不同的配置文件代表不同的含義。

my.ini 是 MySQL 默認使用的配置文件,其它的配置文件都是適合不同數據庫的配置文件的模板,在文件名中就說明了適合的數據庫類型,下面對這幾個配置文件進行詳細講解。

  • my-huge.ini:適合超大型數據庫的配置文件。

  • my-large.ini:適合大型數據庫的配置文件。

  • my-medium.ini:適合中型數據庫的配置文件。

  • my-small.ini:適合小型數據庫的配置文件。

  • my-template.ini:是配置文件的模板,MySQL 配置向導將該配置文件中選擇項寫入到 my.ini 文件。

  • my-innodb-heavy-4G.ini:表示該配置文件只對于 InnoDB 存儲引擎有效,而且服務器的內存不能小于 4GB。

為了方便讀者閱讀,我們省略了 my.ini 文件中的注釋內容。下面分開介紹 my.ini 中參數的具體意義,文件內容如下:

[client]
port=3306
[mysql]
default-character-set=gbk

上面顯示的是客戶端的參數,[client] 和 [mysql] 都是客戶端,參數說明如下:

  • port:表示 MySQL 客戶端連接服務器端時使用的端口號,默認的端口號為 3306。如果需要更改端口號的話,可以直接在這里修改。

  • default-character-set:表示 MySQL 客戶端默認的字符集。

[mysqld]

port=3306
basedir=C:/Program Files/MySQL/MySQL Server 5.7/
datadir=C:/ProgramData/MySQL/MySQL Server 5.7/Data

character-set-server=gb2312
default-storage-engine=INNODB
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

max_connections=100
query_cache_size=0
table_cache=256
tmp_table_size=35M
thread_cache_size=8
myisam_max_sort_file_size=100G
myisam_sort_buffer_size=69M
key_buffer_size=55M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=256K

以上是服務器的參數,參數說明如下表所示:

參數名稱說明
port表示 MySQL 服務器的端口號
basedir表示 MySQL 的安裝路徑
datadir表示 MySQL 數據文件的存儲位置,也是數據表的存放位置
default-character-set表示服務器端默認的字符集
default-storage-engine創建數據表時,默認使用的存儲引擎
sql-mode表示 SQL 模式的參數,通過這個參數可以設置檢驗 SQL 語句的嚴格程度
max_connections表示允許同時訪問 MySQL 服務器的最大連接數。其中一個連接是保留的,留給管理員專用的
query_cache_size表示查詢時的緩存大小,緩存中可以存儲以前通過 SELECT 語句查詢過的信息,再次查詢時就可以直接從緩存中拿出信息,可以改善查詢效率
table_open_cache表示所有進程打開表的總數
tmp_table_size表示內存中每個臨時表允許的最大大小
thread_cache_size表示緩存的最大線程數
myisam_max_sort_file_size表示 MySQL 重建索引時所允許的最大臨時文件的大小
myisam_sort_buffer_size表示重建索引時的緩存大小
key_buffer_size表示關鍵詞的緩存大小
read_buffer_size表示 MyISAM 表全表掃描的緩存大小
read_rnd_buffer_size表示將排序好的數據存入該緩存中
sort_buffer_size表示用于排序的緩存大小
innodb_additional_mem_pool_size=3M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=2M
innodb_buffer_pool_size=107M
innodb_log_file_size=54M
innodb_thread_concurrency=18

以上是 InnoDB 存儲引擎使用的參數,參數說明如下:

  • innodb_additional_mem_pool_size:表示附加的內存池,用來存儲 InnoDB 表的內容。

  • innodb_flush_log_at_trx_commit:是設置提交日志的時機,若設置為 1,InnoDB 會在每次提交后將事務日志寫到磁盤上。

  • innodb_log_buffer_size:表示用來存儲日志數據的緩存區的大小。

  • innodb_buffer_pool_size:表示緩存的大小,InnoDB 使用一個緩沖池類保存索引和原始數據。

  • innodb_log_file_size:表示日志文件的大小。

  • innodb_thread_concurrency:表示在 InnoDB 存儲引擎允許的線程最大數。

注意:每次修改 my.ini 文件中的參數后,必須重新啟動 MySQL 服務才會有效。

my.cnf配置文件

為了方便讀者閱讀,我們省略了 my.cnf 文件中的注釋內容。下面分開介紹 my.cnf 中參數的具體意義,文件內容如下:

[client]
port=3306
socket=/var/run/mysql/mysql.sock
[mysqldump]
quick
max_allowed_packet = 16M

以上參數會被 MySQL 客戶端應用讀取,參數說明如下:

  • port:MySQL 客戶端連接服務器端時使用的端口號,默認為 3306

  • socket:套接字文件所在目錄

  • quick:支持較大的數據庫轉儲,導出非常巨大的表時需要此項 。

  • max_allowed_packet:服務所能處理的請求包的最大大小以及服務所能處理的最大的請求大?。ó斉c大的BLOB字段一起工作時相當必要),每個連接獨立的大小,大小動態增加。

注意:只有 MySQL 附帶的客戶端應用程序保證可以讀取這段內容。如果想要自己的 MySQL 應用程序獲取這些值,需要在 MySQL 客戶端庫初始化的時候指定這些選項。

[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /mydata/mysql/data
port=3306
server-id = 1
socket=/var/run/mysql/mysql.sock

上述參數說明如下:

  • user:mysqld 程序在啟動后將在給定 UNIX/Linux 賬戶下執行。mysqld 必須從 root 賬戶啟動才能在啟動后切換到另一個賬戶下執行。mysqld_safe 腳本將默認使用 user=mysql 選項來啟動 mysqld 程序。

  • basedir:指定 MySQL 安裝的絕對路徑;

  • datadir:指定 MySQL 數據存放的絕對路徑;

  • port:服務端口號,默認為 3306

  • server-id:MySQL 服務的唯一編號,每個 MySQL 服務的 id 需唯一。

  • socket:socket 文件所在目錄

character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
init_connect='SET NAMES utf8mb4'
lower_case_table_names = 1
key_buffer_size=16M
max_allowed_packet=8M
no-auto-rehash
sql_mode=TRADITIONAL
  • character-set-server:數據庫默認字符集,主流字符集支持一些特殊表情符號(特殊表情符占用 4 個字節)

  • collation-server:數據庫字符集對應一些排序等規則,注意要和 character-set-server 對應

  • init_connect:設置 client 連接 mysql 時的字符集,防止亂碼

  • lower_case_table_names:是否對 sql 語句大小寫敏感,1 表示不敏感

  • key_buffer_size:用于指定索引緩沖區的大小

  • max_allowed_packet:設置一次消息傳輸的最大值

  • no-auto-rehash:僅僅允許使用鍵值的 UPDATES 和 DELETES

  • sql_mode:表示 SQL 模式的參數,通過這個參數可以設置檢驗 SQL 語句的嚴格程度

上述內容可能與你的配置文件不同,當有什么需求時,復制使用相應的參數即可。

感謝各位的閱讀,以上就是“mysql的配置文件是哪個”的內容了,經過本文的學習后,相信大家對mysql的配置文件是哪個這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女