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