如何動態修改Mysql的配置引數

2021-03-11 09:09:25 字數 3878 閱讀 8082

1樓:七彩虹科技****

登入mysql:抄

mysql -h localhost -u root -p

然後會讓輸入密襲碼

檢視當前配置引數(wait_timeout為例):

show session variables like '%wait_timeout%'; (或去掉session也一樣)這是當前會話配置引數

現在我們來改這個值:

set wait_timeout=90;

然後我們一起再檢視下當前配置引數:

show variables like '%wait_timeout%';

這是修改當前會話配置,當退出再新起一個會話時就會恢復原樣。

想在所有會話都有效可以設定全域性配置,引數把session改為global就可以了

set global wait_timeout=90;後再檢視

show global variables like '%wait_timeout%';

再退出後重新進入看看,值還是在。

2樓:魚龍混答

mysql動態修改配置來引數分兩種:

會話自session:只對當前會話產生影響,退出mysql後失效;

全域性global:對後面的連線都有效,不過在重啟mysql後失效。

step:

用root賬號登入mysql命令列;

檢視引數配置情況:

show variables; #顯示全部引數。

show variables like '%wait%'; #顯示包含wait的引數。

show session varialbes; #顯示會話引數show global varialbes; #顯示全域性引數set session wait_timeout=10; #當前會話生效。

set global wait_timeout = 10; #全域性生效。

如果想要永久修改引數,則同時在/etc/my.**f配置檔案修改。

如何設定合理的mysql的引數

3樓:愛可生雲資料庫

非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

4樓:局詩奇友安

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

如何設定合理的mysql的引數?

5樓:匿名使用者

[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的意思

修改Mybatis的動態語句(xml檔案中的)後為什麼沒有效果

應該是eclipse沒有將修改後的xml同步到tomcat下面,eclipse clean 清空所有,再重新部署應該就有效果了 project clean 重啟。idea 在使用mybatis的時候 xml檔案 sql 語句背景色 怎麼去掉 請檢視來 去源 掉intellij idea 中bai m...

如何選擇單反相機的配置,單反相機如何設定引數?

首先取決於你的用途。一定不要那套頭,寧缺毋濫。現在上了一個差的頭,將來一定是換得。當然,還是那句話,看你的用途。如果是用於旅遊記念等,其實也夠用。就來個一鏡走天下好了。如佳能的ef s 18 200mmf 3.5 5.6is防抖鏡頭,適馬的18 200mm,價效比不錯。7000左右就可以就可以拿下 ...

求裝機配置的修改

3個建議 1 顯示卡 顯示卡現在當然是a卡好過n卡,但是建議你換用5850,因為5850和6790在視訊記憶體 位寬 兩者影響顯示卡資料傳輸 相同的情況下,流處理器個數 影響顯示卡資料處理 前者是1440個,後者是800,因此資料處理能力前者差不多是後者的2倍,同時,差異又比較小,選用5850更好 ...