#其他默認(rèn)調(diào)整值 #MySQL Server實(shí)例配置文件 # ------------------------------------------------------------------------------------------------------------------------------------------------------------- #由MySQL Server實(shí)例配置向?qū)?br># # #安裝說明 # ------------------------------------------------------------------------------------------------------------------------------------------------------------- # #在Linux上,您可以將此文件復(fù)制到/etc/my.cnf以設(shè)置全局選項(xiàng), #mysql-data-dir/my.cnf設(shè)置服務(wù)器特定選項(xiàng)(用于此安裝的@localstatedir@)或~/.my.cnf設(shè)置特定于用戶的選項(xiàng)。 # #在Windows上,當(dāng)使用MySQL安裝程序安裝MySQL時(shí)應(yīng)該將此文件保存在服務(wù)器的ProgramData目錄中(例如C:\ProgramData\MySQL\MySQL-Server X.Y)。為了確保服務(wù)器讀取配置文 件,使用啟動(dòng)選項(xiàng)“--defaults file”。 # #要從命令行運(yùn)行服務(wù)器,請(qǐng)?jiān)诿钚衧hell,例如。 # mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server X.Y\my.ini" # #若要手動(dòng)將服務(wù)器作為Windows服務(wù)安裝,請(qǐng)?jiān)诿钚衧hell,例如。 # mysqld --install MySQLXY --defaults-file="C:\Program Files\MySQL\MySQL Server X.Y\my.ini" # #然后在命令行shell中執(zhí)行此操作以啟動(dòng)服務(wù)器,例如。 # net start MySQLXY # # #編輯此文件的準(zhǔn)則-- # ------------------------------------------------------------------------------------------------------------------------------------------------------------- # #在此文件中,您可以使用程序支持的所有長(zhǎng)選項(xiàng)。如果您想知道程序支持的選項(xiàng),請(qǐng)啟動(dòng)該程序使用“--help”選項(xiàng)。 #有關(guān)各個(gè)選項(xiàng)的更詳細(xì)信息也可以在手冊(cè)中找到。 #有關(guān)如何更改設(shè)置的建議,請(qǐng)參閱 https://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html # # #客戶端部分 # ------------------------------------------------------------------------------------------------------------------------------------------------------------- # #MySQL客戶端應(yīng)用程序?qū)⒆x取以下選項(xiàng)。 #請(qǐng)注意,只有MySQL提供的客戶端應(yīng)用程序才有保證閱讀本節(jié)。如果您希望自己的MySQL客戶端程序遵守這些值,您需要在MySQL客戶端庫初始化 # [client]
# pipe=
# socket=MYSQL
port=7070
[mysql] no-beep
# default-character-set=
#服務(wù)器部分 # ------------------------------------------------------------------------------------------------------------------------------------------------------------- # #MySQL Server將讀取以下選項(xiàng)。確保您已經(jīng)正確安裝了服務(wù)器(請(qǐng)參閱上文),因此它會(huì)讀取以下內(nèi)容文件。 # # server_type=3 [mysqld]
#以下三個(gè)選項(xiàng)對(duì)SERVER_PORT來說是互斥的。 #跳過網(wǎng)絡(luò) #啟用命名管道 #共享存儲(chǔ)器
# shared-memory-base-name=MYSQL
#MySQL服務(wù)器將使用的管道。 # socket=MYSQL
#在MySQL Server創(chuàng)建的命名管道上授予客戶端的訪問控制。 # named-pipe-full-access-group=
#MySQL服務(wù)器將偵聽的TCP/IP端口 port=7070
#安裝目錄的路徑。所有路徑通常都相對(duì)于此進(jìn)行解析。 # basedir="C:/Program Files/MySQL/MySQL Server 8.0/"
#數(shù)據(jù)庫根目錄的路徑 datadir=C:/ProgramData/MySQL/MySQL Server 8.0\Data
#當(dāng)新架構(gòu)或表已創(chuàng)建,但未定義字符集 # character-set-server=
#管理多因素身份驗(yàn)證(MFA)功能。它適用于身份驗(yàn)證用于管理MySQL帳戶的CREATE USER和ALTER USER語句的因子相關(guān)子句定義,其中“factor”對(duì)應(yīng)于關(guān)聯(lián)的身份驗(yàn)證方法或插件 有賬戶。 authentication_policy=*,,
#在以下情況下創(chuàng)建新表時(shí)將使用的默認(rèn)存儲(chǔ)引擎 default-storage-engine=INNODB
#當(dāng)前服務(wù)器SQL模式,可以動(dòng)態(tài)設(shè)置。 #模式會(huì)影響MySQL支持的SQL語法及其執(zhí)行的數(shù)據(jù)驗(yàn)證檢查。這使MySQL更容易在不同的環(huán)境中使用,并更容易與其他環(huán)境一起使用數(shù)據(jù)庫服務(wù)器。 sql-mode="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
#常規(guī)和慢速日志記錄。 log-output=FILE
general-log=0
general_log_file="LAPTOP-CLPA8D3C.log"
slow-query-log=1
slow_query_log_file="LAPTOP-CLPA8D3C-slow.log"
long_query_time=10
#錯(cuò)誤日志記錄。 log-error="LAPTOP-CLPA8D3C.err"
#*****與組復(fù)制相關(guān)***** #指定要用于二進(jìn)制日志文件的基本名稱。使用二進(jìn)制日志記錄啟用后,服務(wù)器會(huì)記錄所有將數(shù)據(jù)更改為二進(jìn)制的語句日志,用于備份和復(fù)制。 log-bin="LAPTOP-CLPA8D3C-bin"
#*****與組復(fù)制相關(guān)***** #指定服務(wù)器ID。對(duì)于復(fù)制拓?fù)渲惺褂玫姆?wù)器,必須在中為每個(gè)復(fù)制服務(wù)器指定一個(gè)唯一的服務(wù)器ID#范圍從1到2^32?1?!拔ㄒ弧北硎久總€(gè)ID必須不同 #來自任何其他源或復(fù)制副本正在使用的每個(gè)其他ID。 server-id=1
#指示表和數(shù)據(jù)庫名稱如何存儲(chǔ)在磁盤上并在MySQL中使用。 #值0=表和數(shù)據(jù)庫名稱使用CREATE Table或CREATE database語句中指定的字母大小寫存儲(chǔ)在磁盤上。名稱比較區(qū)分大小寫。如果您在具有不區(qū)分大小寫的文件名的系統(tǒng)(如Windows或macOS)上運(yùn)行MySQL,則不應(yīng)將此變量設(shè)置為0。如果在不區(qū)分大小寫的文件系統(tǒng)上,使用--lower-case-table-names=0將此變量強(qiáng)制設(shè)置為0,并使用不同的字母大小寫訪問MyISAM表名,則可能會(huì)導(dǎo)致索引損壞。 #值1=表名稱以小寫形式存儲(chǔ)在磁盤上,名稱比較不區(qū)分大小寫。MySQL在存儲(chǔ)和查找時(shí)將所有表名轉(zhuǎn)換為小寫。此行為也適用于數(shù)據(jù)庫名稱和表別名。 #值2=表和數(shù)據(jù)庫名稱使用CREATE Table或CREATE database語句中指定的字母大小寫存儲(chǔ)在磁盤上,但MySQL在查找時(shí)會(huì)將其轉(zhuǎn)換為小寫。名稱比較不區(qū)分大小寫。InnoDB表名和視圖名以小寫形式存儲(chǔ),如lower_case_table_names=1。 lower_case_table_names=1
#此變量用于限制數(shù)據(jù)導(dǎo)入和導(dǎo)出操作的效果,例如由LOAD DATA和SELECT…執(zhí)行。。。INTO OUTFILE語句和LOAD_FILE()函數(shù)。這些操作僅允許具有FILE權(quán)限的用戶執(zhí)行。 secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"
#MySQL服務(wù)器將執(zhí)行的最大并發(fā)會(huì)話數(shù)允許。其中一個(gè)連接將保留給具有允許管理員登錄的超級(jí)權(quán)限,即使已達(dá)到連接限制。 max_connections=151
#所有線程打開的表數(shù)。增加該值會(huì)增加數(shù)字mysqld所需的文件描述符的數(shù)量。 table_open_cache=4000
#定義TempTable可以占用的最大內(nèi)存量存儲(chǔ)引擎在開始將數(shù)據(jù)存儲(chǔ)在磁盤上之前。 temptable_max_ram=1G
#定義創(chuàng)建的內(nèi)部?jī)?nèi)存臨時(shí)表的最大大小通過MEMORY存儲(chǔ)引擎,以及從MySQL 8.0.28起的TempTable存儲(chǔ)發(fā)動(dòng)機(jī)。如果內(nèi)存中的內(nèi)部臨時(shí)表超過此大小,則為自動(dòng)轉(zhuǎn)換為磁盤上的內(nèi) #部臨時(shí)表。 tmp_table_size=75M
#內(nèi)存內(nèi)部臨時(shí)表的存儲(chǔ)引擎(參見第8.4.4節(jié)“內(nèi)部臨時(shí)表在MySQL中使用”)。允許的值為TempTable(默認(rèn)值)和MEMORY。 internal_tmp_mem_storage_engine=TempTable
#***MyISAM特定選項(xiàng) #MySQL在重新創(chuàng)建時(shí)允許使用的臨時(shí)文件的最大大小MyISAM索引(在REPAIR TABLE、ALTER TABLE或LOAD DATA期間)。如果文件大小為如果大于該值,則使用鍵緩存來創(chuàng)建索引, #這會(huì)比較慢。該值以字節(jié)為單位。 myisam_max_sort_file_size=2146435072
#在REPAIR TABLE期間對(duì)MyISAM索引進(jìn)行排序時(shí)分配的緩沖區(qū)大小或者使用CREATE INDEX或ALTER TABLE創(chuàng)建索引時(shí)。 myisam_sort_buffer_size=141M
#密鑰緩沖區(qū)的大小,用于緩存MyISAM表的索引塊。不要將其設(shè)置為大于可用內(nèi)存的30%,作為某些內(nèi)存也是OS緩存行所需要的。即使你不使用MyISAM表,您仍然應(yīng)該將其設(shè)置為 #8-64M,因?yàn)樗矊⑹怯糜趦?nèi)部臨時(shí)磁盤表。 key_buffer_size=8M
#對(duì)MyISAM表進(jìn)行順序掃描的每個(gè)線程都會(huì)分配一個(gè)緩沖區(qū),它掃描的每個(gè)表的大小(以字節(jié)為單位)。如果你做許多連續(xù)的掃描時(shí),您可能希望增加此值,默認(rèn)值為131072。這 #個(gè)變量的值應(yīng)該是4KB的倍數(shù)。如果設(shè)置為某個(gè)值不是4KB的倍數(shù),其值四舍五入到最接近的倍數(shù)高達(dá)4KB。 read_buffer_size=128K
#此變量用于從MyISAM表中讀取,對(duì)于任何存儲(chǔ)引擎,用于多范圍讀取優(yōu)化。 read_rnd_buffer_size=256K
#***INNODB特定選項(xiàng)*** # innodb_data_home_dir=
#如果您的MySQL服務(wù)器已啟用InnoDB支持,請(qǐng)使用此選項(xiàng)。但您不打算使用它。這將節(jié)省內(nèi)存和磁盤空間并且加快一些事情。 # skip-innodb
#如果設(shè)置為1,InnoDB將把事務(wù)日志刷新(fsync)到磁盤,這提供了完整的ACID行為。如果你是愿意在安全問題上妥協(xié),而你卻跑得很小事務(wù),您可以將其設(shè)置為0或2以將磁盤 #I/O減少到日志。值0表示日志僅寫入日志文件,并且日志文件大約每秒刷新一次。值2意味著每次提交時(shí)都會(huì)將日志寫入日志文件,但日志 #大約每秒只將文件刷新到磁盤一次。 innodb_flush_log_at_trx_commit=1
#InnoDB用于寫入日志文件的緩沖區(qū)的大?。ㄒ宰止?jié)為單位)磁盤。隨著32KB的引入,默認(rèn)值從8MB更改為16MB和64KB的innodb_ page_ size值。大型日志緩沖區(qū)可實(shí)現(xiàn)大型事務(wù) #在事務(wù)提交之前無需將日志寫入磁盤即可運(yùn)行。因此,如果您有更新、插入或刪除許多行的事務(wù)日志緩沖區(qū)越大,節(jié)省磁盤I/O。 innodb_log_buffer_size=16M
#緩沖池的大?。ㄒ宰止?jié)為單位),InnoDB緩存表的內(nèi)存區(qū)域以及索引數(shù)據(jù)。默認(rèn)值為134217728字節(jié)(128MB)。最大值取決于CPU架構(gòu);在32位系統(tǒng)上,最大值為4294967295 #(232-1)以及在64位系統(tǒng)上的18446744073709551615(264-1)。在32位系統(tǒng)上,CPU體系結(jié)構(gòu)和操作系統(tǒng)可以施加比規(guī)定的最大值。當(dāng)緩沖池的大小大于1GB時(shí),設(shè)置 #innodb_buffer_pool_instances的值大于1可以提高上的可伸縮性繁忙的服務(wù)器。 innodb_buffer_pool_size=128M
#定義重做日志文件所占用的磁盤空間量。此變量取代innodb_log_files_i_group和innodb_og_file_size變量。 innodb_redo_log_capacity=100M
#定義InnoDB內(nèi)部允許的最大線程數(shù)。A值0的(默認(rèn)值)被解釋為無限并發(fā)(無限制)。這變量用于高并發(fā)系統(tǒng)上的性能調(diào)優(yōu)。 #InnoDB試圖保持InnoDB內(nèi)部的線程數(shù)小于或等于innodb_thread_concurrency限制。一旦達(dá)到極限,就會(huì)有額外的線程被放入等待線程的“先進(jìn)先出”(FIFO)隊(duì)列中。線程等待鎖不 #計(jì)入并發(fā)執(zhí)行的線程數(shù)。 innodb_thread_concurrency=25
#當(dāng)自動(dòng)擴(kuò)展InnoDB系統(tǒng)表空間文件變滿時(shí),用于擴(kuò)展其大小的增量大小(MB)。 innodb_autoextend_increment=64
#InnoDB緩沖池被劃分為的區(qū)域數(shù)。 #對(duì)于緩沖池在千兆字節(jié)范圍內(nèi)的系統(tǒng),將緩沖池劃分為單獨(dú)的實(shí)例可以提高并發(fā)性,通過減少不同線程讀取和寫入緩存頁面時(shí)的爭(zhēng)用。 innodb_buffer_pool_instances=8
#確定可以同時(shí)進(jìn)入InnoDB的線程數(shù)。 innodb_concurrency_tickets=5000
#指定插入到舊子列表中的塊在其第一次訪問之后必須停留在那里的時(shí)間(以毫秒為單位)可以將其移動(dòng)到新的子列表中。 innodb_old_blocks_time=1000
#當(dāng)啟用該變量時(shí),InnoDB會(huì)在元數(shù)據(jù)語句期間更新統(tǒng)計(jì)信息。 innodb_stats_on_metadata=0
#當(dāng)innodb_file_per_table被啟用時(shí)(5.6.6及更高版本中的默認(rèn)值),innodb存儲(chǔ)每個(gè)新創(chuàng)建的表的數(shù)據(jù)和索引在一個(gè)單獨(dú)的.ibd文件中,而不是在系統(tǒng)表空間中。 innodb_file_per_table=1
#使用以下值列表:0表示crc32,1表示strict_crc32,2表示innodb,3表示strict_innodb,4表示none,5表示strict_none。 innodb_checksum_algorithm=0
#如果將其設(shè)置為非零值,則每flush_time秒關(guān)閉所有表以釋放資源和將未刷新的數(shù)據(jù)同步到磁盤。此選項(xiàng)最好僅用于資源最少的系統(tǒng)。 flush_time=0
#用于普通索引掃描、范圍索引掃描和不使用的聯(lián)接的緩沖區(qū)的最小大小索引,從而執(zhí)行全表掃描。 join_buffer_size=256K
#一個(gè)數(shù)據(jù)包或任何生成或中間字符串的最大大小,或由mysql_stmt_send_long_data()C API函數(shù)。 max_allowed_packet=64M
#如果在沒有成功連接的情況下中斷了來自主機(jī)的超過這個(gè)數(shù)量的連續(xù)連接請(qǐng)求,服務(wù)器阻止該主機(jī)執(zhí)行進(jìn)一步的連接。 max_connect_errors=100
#操作系統(tǒng)中可用于mysqld的文件描述符數(shù)如果mysqld給出錯(cuò)誤“打開的文件太多”,請(qǐng)嘗試增加此選項(xiàng)的值。 open_files_limit=8161
#如果在SHOW GLOBAL STATUS輸出中每秒看到許多sort_merge_passes,可以考慮增加sort_buffer_size值以加快查詢優(yōu)化無法改進(jìn)的ORDER BY或GROUP BY操作 #或改進(jìn)的索引。 sort_buffer_size=256K
#指定基于行的二進(jìn)制日志事件的最大大?。ㄒ宰止?jié)為單位)。如果可能,行被分組為小于此大小的事件。該值應(yīng)該是256的倍數(shù)。 binlog_row_event_max_size=8K
#如果此變量的值大于0,則副本會(huì)將其master.info文件同步到磁盤。 在每次sync_source_info事件之后使用 fdatasync()。 sync_source_info=10000
#如果此變量的值大于0,MySQL服務(wù)器會(huì)將其中繼日志同步到磁盤。 在每次sync_relay_log寫入中繼日志之后使用 fdatasync()。 sync_relay_log=10000
#如果此變量的值大于0,則復(fù)制副本會(huì)將其relay-log.info文件同步到磁盤。 在每個(gè)sync_relay_log_info事務(wù)之后使用 fdatasync()。 sync_relay_log_info=10000
#一開始就加載mysql插件。"plugin_x ; plugin_y". # plugin_load文章來源:http://www.zghlxwxcb.cn/news/detail-508285.html
#MySQL Server X協(xié)議將偵聽的TCP/IP端口。 loose_mysqlx_port=33060文章來源地址http://www.zghlxwxcb.cn/news/detail-508285.html
|