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

快壓

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

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

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

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