這篇文章主要講解了“MySQL的配置文件是哪個(gè)”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“mysql的配置文件是哪個(gè)”吧!
從網(wǎng)站建設(shè)到定制行業(yè)解決方案,為提供網(wǎng)站制作、做網(wǎng)站服務(wù)體系,各種行業(yè)企業(yè)客戶提供網(wǎng)站建設(shè)解決方案,助力業(yè)務(wù)快速發(fā)展。創(chuàng)新互聯(lián)將不斷加快創(chuàng)新步伐,提供優(yōu)質(zhì)的建站服務(wù)。
Windows操作系統(tǒng)中的MySQL配置文件是“my.ini”,位置一般在MySql安裝的根目錄下,也有可能在隱藏文件夾“ProgramData”下面;而Linux操作系統(tǒng)中的MySQL配置文件是“my.cnf”,位置一般在“/etc/my.cnf”或“/etc/mysql/my.cnf”目錄下。
本教程操作環(huán)境:linux7.3&&windows7系統(tǒng)、mysql8版本、Dell G3電腦。
Windows操作系統(tǒng)中 MySQL 的配置文件 my.ini;Linux 操作系統(tǒng)中 MySQL 的配置文件是 my.cnf。
一般情況下,my.ini 在 MySql 安裝的根目錄下,也有可能在隱藏文件夾“ProgramData”下面。
一般情況下,my.cnf 在 /etc/my.cnf 或 /etc/mysql/my.cnf 目錄下
my.ini 配置文件
my.ini 是 MySQL 默認(rèn)使用的配置文件,一般情況下,只要修改 my.ini 配置文件中的內(nèi)容就可以對 MySQL 進(jìn)行配置。
除了上述介紹的目錄,MySQL 安裝目錄下可能還有幾個(gè)后綴名為.ini的配置文件,不同的配置文件代表不同的含義。
my.ini 是 MySQL 默認(rèn)使用的配置文件,其它的配置文件都是適合不同數(shù)據(jù)庫的配置文件的模板,在文件名中就說明了適合的數(shù)據(jù)庫類型,下面對這幾個(gè)配置文件進(jìn)行詳細(xì)講解。
my-huge.ini:適合超大型數(shù)據(jù)庫的配置文件。
my-large.ini:適合大型數(shù)據(jù)庫的配置文件。
my-medium.ini:適合中型數(shù)據(jù)庫的配置文件。
my-small.ini:適合小型數(shù)據(jù)庫的配置文件。
my-template.ini:是配置文件的模板,MySQL 配置向?qū)⒃撆渲梦募羞x擇項(xiàng)寫入到 my.ini 文件。
my-innodb-heavy-4G.ini:表示該配置文件只對于 InnoDB 存儲(chǔ)引擎有效,而且服務(wù)器的內(nèi)存不能小于 4GB。
為了方便讀者閱讀,我們省略了 my.ini 文件中的注釋內(nèi)容。下面分開介紹 my.ini 中參數(shù)的具體意義,文件內(nèi)容如下:
[client] port=3306 [mysql] default-character-set=gbk
上面顯示的是客戶端的參數(shù),[client] 和 [mysql] 都是客戶端,參數(shù)說明如下:
port:表示 MySQL 客戶端連接服務(wù)器端時(shí)使用的端口號,默認(rèn)的端口號為 3306。如果需要更改端口號的話,可以直接在這里修改。
default-character-set:表示 MySQL 客戶端默認(rèn)的字符集。
[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
以上是服務(wù)器的參數(shù),參數(shù)說明如下表所示:
參數(shù)名稱 | 說明 |
---|---|
port | 表示 MySQL 服務(wù)器的端口號 |
basedir | 表示 MySQL 的安裝路徑 |
datadir | 表示 MySQL 數(shù)據(jù)文件的存儲(chǔ)位置,也是數(shù)據(jù)表的存放位置 |
default-character-set | 表示服務(wù)器端默認(rèn)的字符集 |
default-storage-engine | 創(chuàng)建數(shù)據(jù)表時(shí),默認(rèn)使用的存儲(chǔ)引擎 |
sql-mode | 表示 SQL 模式的參數(shù),通過這個(gè)參數(shù)可以設(shè)置檢驗(yàn) SQL 語句的嚴(yán)格程度 |
max_connections | 表示允許同時(shí)訪問 MySQL 服務(wù)器的最大連接數(shù)。其中一個(gè)連接是保留的,留給管理員專用的 |
query_cache_size | 表示查詢時(shí)的緩存大小,緩存中可以存儲(chǔ)以前通過 SELECT 語句查詢過的信息,再次查詢時(shí)就可以直接從緩存中拿出信息,可以改善查詢效率 |
table_open_cache | 表示所有進(jìn)程打開表的總數(shù) |
tmp_table_size | 表示內(nèi)存中每個(gè)臨時(shí)表允許的最大大小 |
thread_cache_size | 表示緩存的最大線程數(shù) |
myisam_max_sort_file_size | 表示 MySQL 重建索引時(shí)所允許的最大臨時(shí)文件的大小 |
myisam_sort_buffer_size | 表示重建索引時(shí)的緩存大小 |
key_buffer_size | 表示關(guān)鍵詞的緩存大小 |
read_buffer_size | 表示 MyISAM 表全表掃描的緩存大小 |
read_rnd_buffer_size | 表示將排序好的數(shù)據(jù)存入該緩存中 |
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 存儲(chǔ)引擎使用的參數(shù),參數(shù)說明如下:
innodb_additional_mem_pool_size:表示附加的內(nèi)存池,用來存儲(chǔ) InnoDB 表的內(nèi)容。
innodb_flush_log_at_trx_commit:是設(shè)置提交日志的時(shí)機(jī),若設(shè)置為 1,InnoDB 會(huì)在每次提交后將事務(wù)日志寫到磁盤上。
innodb_log_buffer_size:表示用來存儲(chǔ)日志數(shù)據(jù)的緩存區(qū)的大小。
innodb_buffer_pool_size:表示緩存的大小,InnoDB 使用一個(gè)緩沖池類保存索引和原始數(shù)據(jù)。
innodb_log_file_size:表示日志文件的大小。
innodb_thread_concurrency:表示在 InnoDB 存儲(chǔ)引擎允許的線程最大數(shù)。
注意:每次修改 my.ini 文件中的參數(shù)后,必須重新啟動(dòng) MySQL 服務(wù)才會(huì)有效。
my.cnf配置文件
為了方便讀者閱讀,我們省略了 my.cnf 文件中的注釋內(nèi)容。下面分開介紹 my.cnf 中參數(shù)的具體意義,文件內(nèi)容如下:
[client] port=3306 socket=/var/run/mysql/mysql.sock [mysqldump] quick max_allowed_packet = 16M
以上參數(shù)會(huì)被 MySQL 客戶端應(yīng)用讀取,參數(shù)說明如下:
port:MySQL 客戶端連接服務(wù)器端時(shí)使用的端口號,默認(rèn)為 3306
socket:套接字文件所在目錄
quick:支持較大的數(shù)據(jù)庫轉(zhuǎn)儲(chǔ),導(dǎo)出非常巨大的表時(shí)需要此項(xiàng) 。
max_allowed_packet:服務(wù)所能處理的請求包的最大大小以及服務(wù)所能處理的最大的請求大?。ó?dāng)與大的BLOB字段一起工作時(shí)相當(dāng)必要),每個(gè)連接獨(dú)立的大小,大小動(dòng)態(tài)增加。
注意:只有 MySQL 附帶的客戶端應(yīng)用程序保證可以讀取這段內(nèi)容。如果想要自己的 MySQL 應(yīng)用程序獲取這些值,需要在 MySQL 客戶端庫初始化的時(shí)候指定這些選項(xiàng)。
[mysqld] user = mysql basedir = /usr/local/mysql datadir = /mydata/mysql/data port=3306 server-id = 1 socket=/var/run/mysql/mysql.sock
上述參數(shù)說明如下:
user:mysqld 程序在啟動(dòng)后將在給定 UNIX/Linux 賬戶下執(zhí)行。mysqld 必須從 root 賬戶啟動(dòng)才能在啟動(dòng)后切換到另一個(gè)賬戶下執(zhí)行。mysqld_safe 腳本將默認(rèn)使用 user=mysql 選項(xiàng)來啟動(dòng) mysqld 程序。
basedir:指定 MySQL 安裝的絕對路徑;
datadir:指定 MySQL 數(shù)據(jù)存放的絕對路徑;
port:服務(wù)端口號,默認(rèn)為 3306
server-id:MySQL 服務(wù)的唯一編號,每個(gè) MySQL 服務(wù)的 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:數(shù)據(jù)庫默認(rèn)字符集,主流字符集支持一些特殊表情符號(特殊表情符占用 4 個(gè)字節(jié))
collation-server:數(shù)據(jù)庫字符集對應(yīng)一些排序等規(guī)則,注意要和 character-set-server 對應(yīng)
init_connect:設(shè)置 client 連接 mysql 時(shí)的字符集,防止亂碼
lower_case_table_names:是否對 sql 語句大小寫敏感,1 表示不敏感
key_buffer_size:用于指定索引緩沖區(qū)的大小
max_allowed_packet:設(shè)置一次消息傳輸?shù)淖畲笾?/p>
no-auto-rehash:僅僅允許使用鍵值的 UPDATES 和 DELETES
sql_mode:表示 SQL 模式的參數(shù),通過這個(gè)參數(shù)可以設(shè)置檢驗(yàn) SQL 語句的嚴(yán)格程度
上述內(nèi)容可能與你的配置文件不同,當(dāng)有什么需求時(shí),復(fù)制使用相應(yīng)的參數(shù)即可。
感謝各位的閱讀,以上就是“mysql的配置文件是哪個(gè)”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對mysql的配置文件是哪個(gè)這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!