如何設定合理的mysql的引數

2021-03-03 22:03:09 字數 2836 閱讀 8614

1樓:匿名使用者

[client]

port = 3306

socket = /tmp/mysql.sock[mysqld]

port = 3306

socket = /tmp/mysql.sockbasedir = /usr/local/mysqldatadir = /data/mysqlpid-file = /data/mysql/mysql.piduser = mysql

bind-address = 0.0.0.0server-id = 1 #表示是本機的序號為1,一般來講就是master的意思

如何設定合理的mysql的引數

2樓:愛可生雲資料庫

非root使用者執行mysql,當mysql配置比較高時,mysql執行中生效的引數值與配置的值不一樣,所以具體分析一下mysql是怎麼調整這些引數值的。 這篇文章的目的是為了說明在系統資源不夠的情況下,mysql 是怎麼調整者三個引數的。說明此文涉及到三個引數open_files_limit、 max_connections、 table_open_cache。

與這三個引數相關的系統資源是開啟檔案數限制,即檔案描述符(fd)限制。系統引數與檔案描述符的關係 - max_connection & fd : 每一個mysql connection      都需要一個檔案描述符;- table_open_cache & fd 開啟一張表至少需要一個      檔案描述符,如開啟myisam需要兩個fd ;- 系統最大開啟檔案數可以通過 ulimit -n檢視。

mysql調整引數的方式

根據配置(三個引數的配置值或預設值)計算 request_open_files(需要的檔案描述符);

2.獲取有效的系統的限制值effective_open_files;  3.根據effective_open_files調整request_open_files;  4.

根據調整後的request_open_files,計算實際生效的引數值(show variables 可檢視引數值)。計算request_open_filesrequest_open_files有三個計算公式:1.

     // 最大連線數+同時開啟的表的最大數量+其他(各種日誌等等)2.     limit_1= max_connections+table_cache_size * 2 + 10;3.   4.

      //假設平均每個連線開啟的表的數量(2-4)5.      //原始碼中是這麼寫的:6.

     //we are trying to allocate no less than 7.      // max_connections*5 file handles8.      limit_2= max_connections * 5;9.

   10.    //mysql 預設的預設是500011.    limit_3= open_files_limit ?

open_files_limit : 5000;12.  13.

    所以open_files_limit期待的最低14.     request_open_files= max(limit_1,limit_2,limit_3);計算effective_open_files:mysql 的思路:

在有限值的的範圍內mysql 儘量將effective_open_files的值設大。

修正request_open_files

requested_open_files= min(effective_open_files, request_open_files)

重新計算引數值

修正open_files_limit

open_files_limit = effective_open_files

修正max_connections

max_connections 根據 request_open_files 來做修正。1.  limit = requested_open_files - 10 - table_open_cache_min * 2;

如果配置的max_connections值大於limit,則將max_connections 的值修正為limit

其他情況下 max_connections 保留配置值

修正table_cache_size

table_cache_size 會根據 request_open_files 來做修正1.   // mysql table_cache_size 最小值,4002.   limit1 = table_open_cache_min3.

  // 根據 requested_open_files 計算4.   limit2 = (requested_open_files - 10 - max_connections) / 25.   limit = max(limit1,limt2);

如果配置的table_cache_size 值大於limit,則將 table_cache_size 的值修正為limit

其他情況下table_cache_size 保留配置值

舉例以下用例在非 root 使用者下執行

引數設定:

//mysql

max_connections = 500

table_open_cache = 999

//ulimit -n

1500

生效的值:

open_files_limit = 1500   max_connections = min[(1500 - 10 - 800),500] = 500

table_open_cache = ( 1500 - 10 - 500) / 2 =495

3樓:局詩奇友安

|由於作業系統的/tmp空間有限,

如何設定合理的mysql的引數如何動態修改Mysql的配置引數

非root使用者執行mysql,當mysql配置比較高時,mysql執行中生效的引數值與配置的值不一樣,所以具體分析一下mysql是怎麼調整這些引數值的。這篇文章的目的是為了說明在系統資源不夠的情況下,mysql 是怎麼調整者三個引數的。說明此文涉及到三個引數open files limit max...

溫控器的引數怎麼設定,如何設定溫控器的引數

cal是補償的意思,比如 當溫控器控溫到100度時,用別的溫度計測量發現真實溫度為98度,則偏差了2度,此時應該將cal,1設定成 2。ftr是設定過濾引數,當外接的探頭很大的干擾時,可以設定這個引數來進行過濾干擾訊號。一般不用設定。溫控器通過密閉的內充感溫工質的溫包和毛細管,把被控溫度的變化轉變為...

cci指標引數如何設定,cci指標引數怎樣設定

cci引數設定方法如下 cci n tp ma md 0.015 其中,tp 最 最低價 價 3 ma 最近n日 tp 價的累計和 n md 最近n日 ma tp 的絕對值的累計和 n n系統預設為14 cci的使用方法 1 觀察cci範圍 當cci從0 100的正常範圍內,由下往上突破 100時,...