亚洲综合社区欧美综合色-欧美逼逼一区二区三区-国产老熟女高潮精品网站-国产日韩最新视频在线看

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊(cè)有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補(bǔ)償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

MySQL配置文件講解

發(fā)布時(shí)間:  2012/8/10 17:47:28

MySQL配置文件

MySQL發(fā)布的最新產(chǎn)品實(shí)際上超出了Red Hat Enterprise Linux所攜帶的版本。但是,穩(wěn)定性和開放源代碼可是很重要的因素,因此在操作系統(tǒng)上使用較早MySQL版本是有道理的。

有許多可以采用的配置文件,它們都被包含在mysql-server PRM程序中。還有一個(gè)默認(rèn)的配置文件被包含在mysql PRM程序包中。

-
 
配置MySQL服務(wù)器是一個(gè)豐富而復(fù)雜的工作。在本文中,我只能膚淺的說一下各種選項(xiàng)。可以使用的MySQL配置文件共有5個(gè)。最后4個(gè)位于/usr/share/doc/mysql-server-*/目錄中。

·/etc/my.cnf是默認(rèn)的MySQL配置文件。應(yīng)該對(duì)這個(gè)文件配置修改。它是為學(xué)習(xí)目的而設(shè)計(jì)的。

·my-small.cnf是為了小型數(shù)據(jù)庫而設(shè)計(jì)的。不應(yīng)該把這個(gè)模型用于含有一些常用項(xiàng)目的數(shù)據(jù)庫。

·my-medium.cnf是為中等規(guī)模的數(shù)據(jù)庫而設(shè)計(jì)的。如果你正在企業(yè)中使用RHEL,可能會(huì)比這個(gè)操作系統(tǒng)的最小RAM需求(256MB)明顯多得多的物理內(nèi)存。由此可見,如果有那么多RAM內(nèi)存可以使用,自然可以在同一臺(tái)機(jī)器上運(yùn)行其它服務(wù)。

·my-large.cnf是為專用于一個(gè)SQL數(shù)據(jù)庫的計(jì)算機(jī)而設(shè)計(jì)的。由于它可以為該數(shù)據(jù)庫使用多達(dá)512MB的內(nèi)存,所以在這種類型的系統(tǒng)上將需要至少1GB的RAM,以便它能夠同時(shí)處理操作系統(tǒng)與數(shù)據(jù)庫應(yīng)用程序。

·my-huge.cnf是為企業(yè)中的數(shù)據(jù)庫而設(shè)計(jì)的。這樣的數(shù)據(jù)庫要求專用服務(wù)器和1GB或1GB以上的RAM。

這些選擇高度依賴于內(nèi)存的數(shù)量、計(jì)算機(jī)的運(yùn)算速度、數(shù)據(jù)庫的細(xì)節(jié)大小、訪問數(shù)據(jù)庫的用戶數(shù)量以及在數(shù)據(jù)庫中裝入并訪問數(shù)據(jù)的用戶數(shù)量。隨著數(shù)據(jù)庫和用戶的不斷增加,數(shù)據(jù)庫的性能可能會(huì)發(fā)生變化。

我將逐個(gè)的說明這些配置文件。如果用戶決定使用my-*.cnf文件之一,將首先需要把這個(gè)文件復(fù)制到/etc/my.cnf文件上。

由于這些原因,用戶應(yīng)該仔細(xì)觀察數(shù)據(jù)庫系統(tǒng)的性能。如果發(fā)現(xiàn)問題,可能需要增加更多的RAM,或者把數(shù)據(jù)庫遷移到一個(gè)含有附加資源(比如多個(gè)CPU)的系統(tǒng)上。

提示:數(shù)據(jù)庫變得非常大。把一個(gè)SQL數(shù)據(jù)庫目錄配置在一個(gè)專用分區(qū)上可能更有道理。雖然一個(gè)不斷增長的數(shù)據(jù)庫可能會(huì)占滿整個(gè)分區(qū),但它至少不會(huì)吞掉RHEL運(yùn)行所必需的磁盤空間。

/etc/my.cnf文件

默認(rèn)是/etc/my.cnf文件。它包含6條命令,并且這6條命令被組織在3個(gè)配置段中。這些配置段與Samba配置文件中的配置段相似,并且含有功能組名稱和相關(guān)的命令。本文將逐行的說明這個(gè)文件的默認(rèn)版本。如果用戶進(jìn)行了任何修改,將需要確保MySQL啟動(dòng)腳本(即/etc/rc.d/init.d/mysqld)中的命令一致。

[mysqld]

在這個(gè)配置段之內(nèi),將會(huì)看到與MySQL守護(hù)進(jìn)程相關(guān)的命令。

datadir=/var/lib/mysql

MySQL服務(wù)器把數(shù)據(jù)庫存儲(chǔ)在由datadir變量所定義的目錄中。

Socket=/var/lib/mysql/mysql.sock

MySQL套接字把數(shù)據(jù)庫程序局部的或通過網(wǎng)絡(luò)連接到MySQL客戶。

提示:MySQL被配置成使用InnoDB存儲(chǔ)器引擎。如果用戶在自己的系統(tǒng)上還沒有一個(gè)InnoDB數(shù)據(jù)庫,將需要給[mysqld]配置段添加skip-innodb語句。

[mysql.server]

在這個(gè)配置段之內(nèi),將會(huì)看到MySQL服務(wù)器守護(hù)進(jìn)程有關(guān)的命令。這個(gè)配置段的較早期版本被命名為[mysql_server]。如果使用MySQL4.X或MySQL4.X以上版本,將必須把這個(gè)配置段標(biāo)題改成[mysql_server]。當(dāng)啟動(dòng)MySQL服務(wù)時(shí),它使用這個(gè)配置段中的選項(xiàng)。

user=mysql

與MySQL服務(wù)相關(guān)聯(lián)的標(biāo)準(zhǔn)用戶名是mysql。它應(yīng)該是/etc/passwd文件的一部分;如果在這個(gè)文件中沒有發(fā)現(xiàn)它,用戶可能還沒有安裝Red Hat Enterprise Linux mysql-server RPM程序包。

basedir=/var/lib

這表示MySQL數(shù)據(jù)庫的頂級(jí)目錄。它充當(dāng)MySQL系統(tǒng)上的一個(gè)根目錄;這個(gè)數(shù)據(jù)庫中的其它目錄都是相對(duì)于這個(gè)目錄。

[safe_mysqld]

這個(gè)配置段包含MySQL啟動(dòng)腳本所引用的命令。如果使用MySQL4.X或4.X以上版本,必須把這個(gè)配置段改成[mysqld_safe]。

err-log=/var/log/mysqld.log

這是MySQL所關(guān)聯(lián)的錯(cuò)誤被發(fā)送到的這個(gè)文件。如果使用MySQL4.X或4.X以上版本,必須使用log-error指令替換這條命令。

pid-file=/var/run/mysqld/mysqld.pid

最后,pid-file指令定義MySQL服務(wù)器在運(yùn)作期間的進(jìn)程標(biāo)識(shí)符(PID)。如果MySQL服務(wù)器當(dāng)前沒有運(yùn)行,這個(gè)文件應(yīng)該不存在。

提示:用戶可以配置與用戶特定相關(guān)的MySQL配置文件;為此,只需給指定用戶主目錄中的.my.cnf隱含文件添加所選的配置命令即可。

my-samll-cnf

在本文中,將說明my-small-cnf配置文本中的所有命令。當(dāng)回顧其它MySQL樣本配置文件時(shí),將參考本文所解釋的各條命令和指令的含義。先從下面這個(gè)配置段開始分析該文件中的有效命令和指令:

[client]

這個(gè)配置把指令傳遞給與MySQL服務(wù)器相關(guān)的客戶。

port=3306

MySQL所相關(guān)的標(biāo)準(zhǔn)TCP/IP端口是3306。如果需要修改這個(gè)端口號(hào)(可以增強(qiáng)安全),必須確保用于MySQL客戶與服務(wù)器的所有相應(yīng)配置文件中均修改這個(gè)號(hào)。

socket=/var/lib/mysql/mysql.sock

正像默認(rèn)的/etc/my.cnf文件中所定義的那樣,這是控制MySQL客戶與服務(wù)器間通信的標(biāo)準(zhǔn)套接字文件。

[mysqld]

當(dāng)啟動(dòng)MySQL服務(wù)器時(shí),它由[mysqld]配置段中所定義的命令來控制。

port=3306

socket=/var/lib/mysql/mysql.sock

當(dāng)然,與同一個(gè)MySQL數(shù)據(jù)庫相關(guān)的客戶與服務(wù)器需要使用相同的TCP/IP端口和套接字。

skip-locking

多個(gè)客戶可能會(huì)訪問同一個(gè)數(shù)據(jù)庫,因此這防止外部客戶鎖定MySQL服務(wù)器。這個(gè)skip-locking命令是MySQL4.X或4.X以上版本中的skip-external-locking命令。

一般來說,如果正在使用MySQL4.X或4.X上以版本,這個(gè)set-variable指令沒有必要帶有這個(gè)列表中的這些命令。

set-variable=key_buffer=16k

這個(gè)緩沖區(qū)確實(shí)很;如果一個(gè)數(shù)據(jù)庫在一個(gè)文本文件中包含不止幾百行數(shù)據(jù),它將會(huì)超載這個(gè)緩沖區(qū)的容量。這個(gè)數(shù)據(jù)庫可能不會(huì)超載一個(gè)文本文件地址簿的容量。如果這不只是一個(gè)供個(gè)人使用的數(shù)據(jù)庫,這個(gè)限額很快就會(huì)被達(dá)到。假使那樣的話,可能需要考慮與其它配置文件之一相關(guān)的那些限額。

set-variable=max_allowed_packet=1M

當(dāng)然,與一個(gè)數(shù)據(jù)庫相關(guān)的信息會(huì)增加到超出實(shí)際數(shù)據(jù)。在默認(rèn)的情況下,如果該信息在一個(gè)服務(wù)器上超過1MB以上,MySQL將會(huì)產(chǎn)生一條錯(cuò)誤信息。

set-variable=thread_stack=64k

這條指令限定用于每個(gè)數(shù)據(jù)庫線程的棧大小。默認(rèn)設(shè)置足以滿足大多數(shù)應(yīng)用。

set-variable=table_cache=4

用戶可以限定一個(gè)數(shù)據(jù)庫中打開表的數(shù)量;越小的限額(默認(rèn)值是64)適合越小規(guī)模的數(shù)據(jù)庫。

set-variable=sort_buffer=64k

在處理一個(gè)數(shù)據(jù)庫時(shí),用戶可能需要內(nèi)存中附加的緩沖區(qū)空間。

set-variable=net_buffer_length=2k

正如net_buffer_length指令所定義的,MySQL服務(wù)器還給傳入的請(qǐng)求保留了空間。

server-id=1

一般來說,如果有一個(gè)MySQL主服務(wù)器,應(yīng)該把它的server-id設(shè)置成1;應(yīng)該把MySQL從屬服務(wù)器的server-id設(shè)置成2;

[mysqldump]

用戶可以在不同類型的SQL數(shù)據(jù)庫之間傳輸數(shù)據(jù),這由[mysqldump]配置段中的命令來控制。

quick

quick選項(xiàng)支持較大數(shù)據(jù)庫的轉(zhuǎn)儲(chǔ)。

set-variable=max_allowed_packet=16M

當(dāng)然,用來傳輸數(shù)據(jù)庫表到其它數(shù)據(jù)庫的max_allowed_packet大于客戶與服務(wù)器之間的簡(jiǎn)單通信所使用的信息包。

[mysql]

no-auto-rehash

這個(gè)配置段設(shè)置啟動(dòng)MySQL服務(wù)的條件;在這種情況下,no-auto-rehash確保這個(gè)服務(wù)啟動(dòng)得比較快。

[isamchk]

[myisamchk]

像SQL這樣的關(guān)系數(shù)據(jù)庫用所謂的Indexed Sequential Access Method(索引順序存取方法,簡(jiǎn)稱ISAM)來處理。這兩個(gè)配置段中的命令是相同的;這些命令與檢查并修復(fù)數(shù)據(jù)庫表的同名命令有關(guān)。

set-variable=key_buffer=8M

set-variable=sort_buffer=8M

在前面談及MySQL服務(wù)器時(shí),用戶己經(jīng)見過這些變量。它們?cè)谶@里都比較大,以便支持?jǐn)?shù)據(jù)庫的較快速檢查與修復(fù)。

[mysqlhotcopy]

interactive-timeout

正如[mysqlhotcopy]配置段所指定的,在一個(gè)數(shù)據(jù)庫復(fù)制操作期間,連接會(huì)掛起。在默認(rèn)情況下,interactive-timeout變量把一個(gè)數(shù)據(jù)傳輸?shù)淖畲髸r(shí)間量設(shè)置為28800秒(8個(gè)小時(shí))。

my-medium.cnf文件

與中等數(shù)據(jù)庫相關(guān)的MySQL配置文件含有和my-small-cnf配置文件中一樣的有效配置段。在[mysqld]配置段中,下面這些命令支持較大規(guī)模的服務(wù)器數(shù)據(jù)庫:

set-variable=key_buffer=16M

set-variable=table_cache=64

set-variable=sort_buffer=512K

set-variable=net_buffer_length=8K

log-bin

一般來說,這個(gè)配置段中的命令支持服務(wù)器上的較大高速緩存與緩沖區(qū)長度。應(yīng)該看到兩條新命令。

set-variable=myisam_sort_buffer_size=8M

log-bin

myisam_sort_buffer_size命令允許MySQL索引數(shù)據(jù)庫,第二條命令支持二進(jìn)制日志記錄方法。

[isamchk]

[myisamchk]

當(dāng)然,這兩個(gè)配置段中的緩沖區(qū)比用于數(shù)據(jù)庫傳輸?shù)木彌_區(qū)大,這個(gè)文件包含下面這些命令;它們發(fā)送消息到服務(wù)器和接收來自服務(wù)器的消息。

set-variable=read_buffer=2M

set-variable=write_buffer=2M

my-large.cnf文件

與較大型數(shù)據(jù)庫相關(guān)的MySQL配置文件含有和my-samll-cnf配置文件中一樣的有效配置段。在本文中,將比較my-large-cnf與my-medium-cnf樣本文件中的各條命令。在[mysqld]配置段中,下面這些命令支持較大型的服務(wù)器數(shù)據(jù)庫:

set-variable=key_buffer=256M

set-variable=table_cache=256

set-variable=sort_buffer=1M

set-variable=myisam_sort_buffer_size=64M

set-variable=net_buffer_length=8K

這個(gè)配置段中有3條附加的命令。record_buffer命令保存對(duì)一個(gè)數(shù)據(jù)庫中不同表的掃描結(jié)果。thread_cache命令對(duì)多請(qǐng)求有用;空閑線程被高速緩存起來,進(jìn)而允許新的搜索操作采用己有的線程。只要這防止搜索操作啟動(dòng)新的服務(wù)器進(jìn)程,這就能減輕系統(tǒng)上的負(fù)荷。

set-variable=record_buffer=1M

set-variable=thread_cache=8

set-variable=thread_concurrency=8

thread_concurrency變量限定同時(shí)運(yùn)行的線程數(shù)量。my-large.cnf樣本文件建議用戶應(yīng)該把這個(gè)數(shù)量限定于本計(jì)算機(jī)上CPU數(shù)量的兩倍;這個(gè)特定設(shè)置相當(dāng)于4個(gè)CPU。

my-huge.cnf文件

my-huge.cnf文件含有和my-large.cnf配置文件中一樣的命令。當(dāng)然,分配給大多數(shù)指令的值比較大并適合較大型的數(shù)據(jù)庫。

正如wWw.mysql.com站點(diǎn)上所描述的,擁有大量數(shù)據(jù)庫的組織,比如:google、 Sabre和NASA都采用MySQL。雖然我們猜測(cè)這些公司所使用的命令不同于用戶在my-huge.cnf文件中所看到的命令,但這至少讓用戶對(duì) MySQL企業(yè)級(jí)數(shù)據(jù)庫有一個(gè)概念。


本文出自:億恩科技【1tcdy.com】

服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:0371-60135900
  • 虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號(hào)
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號(hào)總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號(hào)
      1
     
     
     
     

    0371-60135900
    7*24小時(shí)客服服務(wù)熱線