彩票查询_2021美洲杯决赛:阿根廷vs巴西回放_2025世俱杯参赛球队有哪些_英格兰乙级联赛 - 竞彩足球500

快壓

當(dāng)前位置:首頁 > 電腦技巧 > 正文

mysql優(yōu)化服務(wù)器參數(shù)設(shè)置

瀏覽次數(shù):|更新日期:2014年09月20日

mysql服務(wù)器為我們提供了豐富啲參數(shù),以調(diào)整服務(wù)器滿足不同環(huán)境啲要求。下面分別討論一下這些參數(shù):
  服務(wù)器參數(shù)變量啲設(shè)置。mysql服務(wù)器參數(shù)可在服務(wù)器啟動時設(shè)置,在mysql4.0.3及以后啲版本中,有些參數(shù)也允許在線設(shè)置。在mysql4.0.2及以后de版本里,可以把一個變量名視為一個選項名來設(shè)置。如數(shù)據(jù)表緩沖區(qū)de尺寸由服務(wù)器參數(shù)talbe_cache來設(shè)置。如果需把它設(shè)置為128,則可以在命令行里增加
  –table_cache=128
  也可在選項文件中設(shè)置:
  [mysqld]
  table_cache=128
  在命令行選項中_可寫-,變成:
  –table-cache=128 #這種寫法更像一個標(biāo)準(zhǔn)選項
  還有一種是使用–set-variable或-o選項,如:
  –set-variable=table_cache=128
  or
  -o table_cache=128
  在選項文件中可寫成:
  [mysqld]
  set-variable=table_cache=128
  服務(wù)器參數(shù)分為全局級和會話級兩個級別。全局級參數(shù)將影響整個服務(wù)器,會話級參數(shù)則只影響某給定客戶連接上de工作。如果某個變量同時存在于兩個級別,則服務(wù)器在客戶建立連接時用全局變量de值去初始化相應(yīng)啲會話級參數(shù),一旦客戶連接建立起來后,對全局參數(shù)所作啲修改不會影響到相應(yīng)啲會話級參數(shù)當(dāng)前值。設(shè)置全局參數(shù)和會話級參數(shù)的語句:
  全局級:
  mysql> set global variable = value;
  mysql> set @@global.variable = value;
  會話級:
  mysql> set session variable = value;
  mysql> set @@session.variable = value;
  默認(rèn)不帶級別限定符的set語句修改的參數(shù)屬會話級,如:
  mysql> set variable = value;計算機(jī)基礎(chǔ)知識
  mysql> set @@variable = value;
  可用一條set語句設(shè)置多個參數(shù),參數(shù)間用逗號分隔,如:
  set session variable = value1,value2,value3;
  session和local是同義語,可用local代替session,如:@@local
  具備super權(quán)限才能設(shè)置全局參數(shù),新設(shè)置值的效力將持續(xù)到該參數(shù)被再次修改或服務(wù)器退出。設(shè)置會話級參數(shù)不用特殊的權(quán)限,新設(shè)置值的效力將持續(xù)到該值被再次修改或連接斷開。顯示參數(shù)的語句如下:
  show global variables;
  show global variables like test;
  show session variables;
  show session variables like test;
  如不帶限定符,則返回會話級參數(shù),如會話級參數(shù)不存在則返回全局級參數(shù)。
  也可用命令行方式顯示服務(wù)器參數(shù)變量,如:
  % mysqladmin variables
  下面介紹一些mysql服務(wù)器通用的參數(shù)變量:
  back_log,當(dāng)多個客戶同時連接服務(wù)器時,客戶處理過程需進(jìn)入一個隊列排隊等待服務(wù)器處理。該值定義服務(wù)器等待處理隊列長度的最大值,如果站點訪問量大,需加大該值。電腦基礎(chǔ)
  delayed_queue_size,在實際插入數(shù)據(jù)表前,來自insert delayed語句的數(shù)據(jù)行會進(jìn)入一個隊列等待服務(wù)器處理。該值定義該隊列能容納的數(shù)據(jù)行的最大個數(shù)。當(dāng)隊列滿時,會阻塞后續(xù)的語句。加大該值能提高insert delayed語句的執(zhí)行速度。
  flush_time,自動存盤間隔。如果系統(tǒng)經(jīng)常死機(jī)或重啟,把這個變量設(shè)置為一個適當(dāng)?shù)姆橇阒?,使mysql服務(wù)器每隔flush_time稱去刷新一次數(shù)據(jù)表緩沖區(qū),將其中的信息寫入磁盤。這將導(dǎo)致系統(tǒng)性能下降,但可減少數(shù)據(jù)表被破壞或丟失數(shù)據(jù)的概率。在命令行上用–flush選項啟動服務(wù)器可使數(shù)據(jù)表在每次修改后被自動存盤。
  key_buffer_size,用來容納索引塊的緩沖區(qū)的長度。加大該值可加快索引創(chuàng)建和修改操作的速度,該索引緩沖區(qū)越大,在內(nèi)存中找到鍵值的可能性就越大,讀盤次數(shù)就越少。mysql3.23前的版本里,該參數(shù)叫key_buffer。3.23版本之后,兩種叫法都可以。
  max_allowed_packet,服務(wù)器與客戶程序之間通信時使用的緩沖區(qū)在最大值。mysql 4版本之前,該最大值可取16mb,mysql 4版本以后,該值的最大值是1gb。如果客戶端與服務(wù)器需傳送大容量的數(shù)據(jù),如blob或text值,就要加大該值??蛻舳艘灿幸粋€同名的變量,默認(rèn)是16mb,該值也要加大。客戶端的啟動命令為:
  % mysql –set-variable=max_allowed_packet=64m
  max_connections,允許同時打開的連接數(shù),如果站點繁忙,需加大該值。
  table_cache,數(shù)據(jù)表緩存區(qū)的尺寸。加大該值可使服務(wù)器能夠同時打開更多的數(shù)據(jù)表,從而減少文件打開/關(guān)閉操作的次數(shù)。
  注意:加大max_connections和table_cache參數(shù)的值,會使服務(wù)器占用更多的文件描述符。運(yùn)行多個服務(wù)器可繞過該限制。對一些分配給每個客戶的資源變量,設(shè)置時不能過大,因為當(dāng)連接數(shù)快速增長時會很快耗盡服務(wù)器的資源,造成服務(wù)器性能下降。計算機(jī)
  innodb處理程序變量:
  innodb_buffer_pool_size,innodb數(shù)據(jù)庫緩沖池的大小,如果有足夠的內(nèi)存,可把該值設(shè)置得大些以減少讀盤操作。
  innodb_log_file_size和innodb_log_files_in_group,前者設(shè)置日志文件的長度,后者設(shè)置日志文件的個數(shù)。innodb日志文件的總長度是兩者的乘積,它的總長度不得超過4gb。