日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql.ini环境配置_MySQL配置文件mysql.ini参数详解

發(fā)布時(shí)間:2023/12/10 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql.ini环境配置_MySQL配置文件mysql.ini参数详解 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

my.ini(Linux系統(tǒng)下是my.cnf),當(dāng)mysql服務(wù)器啟動(dòng)時(shí)它會(huì)讀取這個(gè)文件,設(shè)置相關(guān)的運(yùn)行環(huán)境參數(shù)。

my.ini分為兩塊:Client Section和Server Section。

Client Section用來配置MySQL客戶端參數(shù)。

要查看配置參數(shù)可以用下面的命令:

show variables like '%innodb%'; # 查看innodb相關(guān)配置參數(shù)

show status like '%innodb%'; # 查看innodb相關(guān)的運(yùn)行時(shí)參數(shù)(比如當(dāng)前正在打開的表的數(shù)量,當(dāng)前已經(jīng)打開的表的數(shù)量)

show global status like 'open%tables'; # 查看全局的運(yùn)行時(shí)參數(shù),加上global是對(duì)當(dāng)前mysql服務(wù)器中運(yùn)行的所有數(shù)據(jù)庫(kù)實(shí)例進(jìn)行統(tǒng)計(jì)。不加global則只對(duì)當(dāng)前數(shù)據(jù)庫(kù)實(shí)例進(jìn)行統(tǒng)計(jì)。

1、Client Section

[client]

port = 3306 # 設(shè)置mysql客戶端連接服務(wù)端時(shí)默認(rèn)使用的端口

[mysql]

default-character-set=utf8 # 設(shè)置mysql客戶端默認(rèn)字符集

2、Server Section

[mysqld]

port=3306 # mysql服務(wù)端默認(rèn)監(jiān)聽(listen on)的TCP/IP端口

basedir="C:/Program Files/MySQL/MySQL Server 5.5/" # 基準(zhǔn)路徑,其他路徑都相對(duì)于這個(gè)路徑

datadir="C:/Program Files/MySQL/MySQL Server 5.5/Data" # mysql數(shù)據(jù)庫(kù)文件所在目錄

character-set-server=latin1 # 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集

default-storage-engine=INNODB # 創(chuàng)建新表時(shí)將使用的默認(rèn)存儲(chǔ)引擎

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" # SQL模式為strict模式

max_connections=100 # mysql服務(wù)器支持的最大并發(fā)連接數(shù)(用戶數(shù))。但總會(huì)預(yù)留其中的一個(gè)連接給管理員使用超級(jí)權(quán)限登錄,即使連接數(shù)目達(dá)到最大限制。如果設(shè)置得過小而用戶比較多,會(huì)經(jīng)常出現(xiàn)“Too many connections”錯(cuò)誤。

query_cache_size=0 # 查詢緩存大小,用于緩存SELECT查詢結(jié)果。如果有許多返回相同查詢結(jié)果的SELECT查詢,并且很少改變表,可以設(shè)置query_cache_size大于0,可以極大改善查詢效率。而如果表數(shù)據(jù)頻繁變化,就不要使用這個(gè),會(huì)適得其反

table_cache=256 # 這個(gè)參數(shù)在5.1.3之后的版本中叫做table_open_cache,用于設(shè)置table高速緩存的數(shù)量。由于每個(gè)客戶端連接都會(huì)至少訪問一個(gè)表,因此此參數(shù)的值與 max_connections有關(guān)。當(dāng)某一連接訪問一個(gè)表時(shí),MySQL會(huì)檢查當(dāng)前已緩存表的數(shù)量。如果該表已經(jīng)在緩存中打開,則會(huì)直接訪問緩存中的表已加快查詢速度;如果該表未被緩存,則會(huì)將當(dāng)前的表添加進(jìn)緩存并進(jìn)行查詢。在執(zhí)行緩存操作之前,table_cache用于限制緩存表的最大數(shù)目:如果當(dāng)前已經(jīng)緩存的表未達(dá)到table_cache,則會(huì)將新表添加進(jìn)來;若已經(jīng)達(dá)到此值,MySQL將根據(jù)緩存表的最后查詢時(shí)間、查詢率等規(guī)則釋放之前的緩存。

tmp_table_size=34M # 內(nèi)存中的每個(gè)臨時(shí)表允許的最大大小。如果臨時(shí)表大小超過該值,臨時(shí)表將自動(dòng)轉(zhuǎn)為基于磁盤的表(Disk Based Table)。

thread_cache_size=8 # 緩存的最大線程數(shù)。當(dāng)客戶端連接斷開時(shí),如果客戶端總連接數(shù)小于該值,則處理客戶端任務(wù)的線程放回緩存。在高并發(fā)情況下,如果該值設(shè)置得太小,就會(huì)有很多線程頻繁創(chuàng)建,線程創(chuàng)建的開銷會(huì)變大,查詢效率也會(huì)下降。一般來說如果在應(yīng)用端有良好的多線程處理,這個(gè)參數(shù)對(duì)性能不會(huì)有太大的提高。

# MyISAM相關(guān)參數(shù)

myisam_max_sort_file_size=100G # mysql重建索引時(shí)允許使用的臨時(shí)文件最大大小

myisam_sort_buffer_size=68M

key_buffer_size=54M # Key Buffer大小,用于緩存MyISAM表的索引塊。決定數(shù)據(jù)庫(kù)索引處理的速度(尤其是索引讀)

read_buffer_size=64K # 用于對(duì)MyISAM表全表掃描時(shí)使用的緩沖區(qū)大小。針對(duì)每個(gè)線程進(jìn)行分配(前提是進(jìn)行了全表掃描)。進(jìn)行排序查詢時(shí),MySql會(huì)首先掃描一遍該緩沖,以避免磁盤搜索,提高查詢速度,如果需要排序大量數(shù)據(jù),可適當(dāng)調(diào)高該值。但MySql會(huì)為每個(gè)客戶連接發(fā)放該緩沖空間,所以應(yīng)盡量適當(dāng)設(shè)置該值,以避免內(nèi)存開銷過大。

read_rnd_buffer_size=256K

sort_buffer_size=256K # connection級(jí)參數(shù)(為每個(gè)線程配置),500個(gè)線程將消耗500*256K的sort_buffer_size。

# InnoDB相關(guān)參數(shù)

innodb_additional_mem_pool_size=3M # InnoDB用于存儲(chǔ)元數(shù)據(jù)信息的內(nèi)存池大小,一般不需修改

innodb_flush_log_at_trx_commit =1 # 事務(wù)相關(guān)參數(shù),如果值為1,則InnoDB在每次commit都會(huì)將事務(wù)日志寫入磁盤(磁盤IO消耗較大),這樣保證了完全的ACID特性。而如果設(shè)置為0,則表示事務(wù)日志寫入內(nèi)存log和內(nèi)存log寫入磁盤的頻率都為1次/秒。如果設(shè)為2則表示事務(wù)日志在每次commit都寫入內(nèi)存log,但內(nèi)存log寫入磁盤的頻率為1次/秒。

innodb_log_buffer_size=2M # InnoDB日志數(shù)據(jù)緩沖大小,如果緩沖滿了,就會(huì)將緩沖中的日志數(shù)據(jù)寫入磁盤(flush)。由于一般至少都1秒鐘會(huì)寫一次磁盤,所以沒必要設(shè)置過大,即使是長(zhǎng)事務(wù)。

innodb_buffer_pool_size=105M # InnoDB使用緩沖池來緩存索引和行數(shù)據(jù)。該值設(shè)置的越大,則磁盤IO越少。一般將該值設(shè)為物理內(nèi)存的80%。

innodb_log_file_size=53M # 每一個(gè)InnoDB事務(wù)日志的大小。一般設(shè)為innodb_buffer_pool_size的25%到100%

innodb_thread_concurrency=9 # InnoDB內(nèi)核最大并發(fā)線程數(shù)

總結(jié)

以上是生活随笔為你收集整理的mysql.ini环境配置_MySQL配置文件mysql.ini参数详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。