欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MYSQL環(huán)境變量設(shè)置方法

 更新時間:2007年01月15日 00:00:00   作者:  
本文介紹了mysql數(shù)據(jù)庫中環(huán)境變量的設(shè)置方法,如何設(shè)置mysql數(shù)據(jù)庫的環(huán)境變量,有需要的朋友參考下

mysql環(huán)境變量設(shè)置(windows環(huán)境)

1、對于命令控來說,在cmd命令下行下操作很方便,但有時需要直接在命令行床空執(zhí)行mysql這樣的命令,會出現(xiàn)”mysql不是內(nèi)部或外部命令“這樣的錯誤提示,原因是mysql其實是一個exe文件,存放于myql安裝路徑/bin下,因此需要將mysql的安裝路徑配置到path環(huán)境變量中,如此以后就不用每次都cd到mysql路徑下了;

2、設(shè)置完成后我們再試試看-cmd-->mysql
已經(jīng)連接上mysql了,接下來我們可以使用dml、sql語言來創(chuàng)建我們自己的數(shù)據(jù)庫了;

3、首先,要創(chuàng)建一個數(shù)據(jù)庫名字為test_user;
創(chuàng)建成功!

4、創(chuàng)建一個張數(shù)據(jù)表,使用腳本即可。
注意,創(chuàng)建table之前一定要use databasename;

你能用這個命令得到mysqld服務(wù)器缺省緩沖區(qū)大?。?nbsp;

shell> mysqld --help 

這個命令生成一張所有mysqld選項和可配置變量的表。輸出包括缺省值并且看上去象這樣一些東西: 

Possible variables for option --set-variable (-O) are: 
back_log???????current value: 5 
connect_timeout??? current value: 5 
delayed_insert_timeout?current value: 300 
delayed_insert_limit?current value: 100 
delayed_queue_size??current value: 1000 
flush_time??????current value: 0 
interactive_timeout? current value: 28800 
join_buffer_size???current value: 131072 
key_buffer_size??? current value: 1048540 
lower_case_table_names?current value: 0 
long_query_time??? current value: 10 
max_allowed_packet??current value: 1048576 
max_connections??? current value: 100 
max_connect_errors??current value: 10 
max_delayed_threads? current value: 20 
max_heap_table_size? current value: 16777216 
max_join_size???? current value: 4294967295 
max_sort_length??? current value: 1024 
max_tmp_tables????current value: 32 
max_write_lock_count?current value: 4294967295 
net_buffer_length?? current value: 16384 
query_buffer_size?? current value: 0 
record_buffer???? current value: 131072 
sort_buffer????? current value: 2097116 
table_cache????? current value: 64 
thread_concurrency??current value: 10 
tmp_table_size????current value: 1048576 
thread_stack?????current value: 131072 
wait_timeout?????current value: 28800 

如果有一個mysqld服務(wù)器正在運行,通過執(zhí)行這個命令,你可以看到它實際上使用的變量的值: 

shell> mysqladmin variables 

每個選項在下面描述。對于緩沖區(qū)大小、長度和棧大小的值以字節(jié)給出,你能用于個后綴“K”或“M” 指出以K字節(jié)或兆字節(jié)顯示值。例如,16M指出16兆字節(jié)。后綴字母的大小寫沒有關(guān)系;16M和16m是相同的。 

你也可以用命令SHOW STATUS自一個運行的服務(wù)器看見一些統(tǒng)計。見7.21 SHOW語法(得到表、列的信息)。 

back_log 
要求MySQL能有的連接數(shù)量。當(dāng)主要MySQL線程在一個很短時間內(nèi)得到非常多的連接請求,這就起作用,然后主線程花些時間(盡管很短)檢查連接并且啟動一個新線程。back_log值指出在MySQL暫時停止回答新請求之前的短時間內(nèi)多少個請求可以被存在堆棧中。只有如果期望在一個短時間內(nèi)有很多連接,你需要增加它,換句話說,這值對到來的TCP/IP連接的偵聽隊列的大小。你的操作系統(tǒng)在這個隊列大小上有它自己的限制。 Unix listen(2)系統(tǒng)調(diào)用的手冊頁應(yīng)該有更多的細(xì)節(jié)。檢查你的OS文檔找出這個變量的最大值。試圖設(shè)定back_log高于你的操作系統(tǒng)的限制將是無效的。 
connect_timeout 
mysqld服務(wù)器在用Bad handshake(糟糕的握手)應(yīng)答前正在等待一個連接報文的秒數(shù)。 
delayed_insert_timeout 
一個Insert DELAYED線程應(yīng)該在終止之前等待Insert語句的時間。 
delayed_insert_limit 
在插入delayed_insert_limit行后,Insert DELAYED處理器將檢查是否有任何Select語句未執(zhí)行。如果這樣,在繼續(xù)前執(zhí)行允許這些語句。 
delayed_queue_size 
應(yīng)該為處理Insert DELAYED分配多大一個隊列(以行數(shù))。如果排隊滿了,任何進(jìn)行Insert DELAYED的客戶將等待直到隊列又有空間了。 
flush_time 
如果這被設(shè)置為非零值,那么每flush_time秒所有表將被關(guān)閉(以釋放資源和sync到磁盤)。 
interactive_timeout 
服務(wù)器在關(guān)上它前在一個交互連接上等待行動的秒數(shù)。一個交互的客戶被定義為對mysql_real_connect()使用CLIENT_INTERACTIVE選項的客戶。也可見wait_timeout。 
join_buffer_size 
用于全部聯(lián)結(jié)(join)的緩沖區(qū)大小(不是用索引的聯(lián)結(jié))。緩沖區(qū)對2個表間的每個全部聯(lián)結(jié)分配一次緩沖區(qū),當(dāng)增加索引不可能時,增加該值可得到一個更快的全部聯(lián)結(jié)。(通常得到快速聯(lián)結(jié)的最佳方法是增加索引。) 
key_buffer_size 
索引塊是緩沖的并且被所有的線程共享。key_buffer_size是用于索引塊的緩沖區(qū)大小,增加它可得到更好處理的索引(對所有讀和多重寫),到你能負(fù)擔(dān)得起那樣多。如果你使它太大,系統(tǒng)將開始換頁并且真的變慢了。記住既然MySQL不緩存讀取的數(shù)據(jù),你將必須為OS文件系統(tǒng)緩存留下一些空間。為了在寫入多個行時得到更多的速度,使用LOCK TABLES。見7.24LOCK TABLES/UNLOCK TABLES語法。 
long_query_time 
如果一個查詢所用時間超過它(以秒計),Slow_queries記數(shù)器將被增加。 
max_allowed_packet 
一個包的最大尺寸。消息緩沖區(qū)被初始化為net_buffer_length字節(jié),但是可在需要時增加到max_allowed_packet個字節(jié)。缺省地,該值太小必能捕捉大的(可能錯誤)包。如果你正在使用大的BLOB列,你必須增加該值。它應(yīng)該象你想要使用的最大BLOB的那么大。 
max_connections 
允許的同時客戶的數(shù)量。增加該值增加mysqld要求的文件描述符的數(shù)量。見下面對文件描述符限制的注釋。見18.2.4 Too many connections錯誤。 
max_connect_errors 
如果有多于該數(shù)量的從一臺主機(jī)中斷的連接,這臺主機(jī)阻止進(jìn)一步的連接。你可用FLUSH HOSTS命令疏通一臺主機(jī)。 
max_delayed_threads 
不要啟動多于的這個數(shù)字的線程來處理Insert DELAYED語句。如果你試圖在所有Insert DELAYED線程在用后向一張新表插入數(shù)據(jù),行將被插入,就像DELAYED屬性沒被指定那樣。 
max_join_size 
可能將要讀入多于max_join_size個記錄的聯(lián)結(jié)將返回一個錯誤。如果你的用戶想要執(zhí)行沒有一個Where子句、花很長時間并且返回百萬行的聯(lián)結(jié),設(shè)置它。 
max_sort_length 
在排序BLOB或TEXT值時使用的字節(jié)數(shù)(每個值僅頭max_sort_length個字節(jié)被使用;其余的被忽略)。 
max_tmp_tables 
(該選擇目前還不做任何事情)。一個客戶能同時保持打開的臨時表的最大數(shù)量。 
net_buffer_length 
通信緩沖區(qū)在查詢之間被重置到該大小。通常這不應(yīng)該被改變,但是如果你有很少的內(nèi)存,你能將它設(shè)置為查詢期望的大小。(即,客戶發(fā)出的SQL語句期望的長度。如果語句超過這個長度,緩沖區(qū)自動地被擴(kuò)大,直到max_allowed_packet個字節(jié)。) 
record_buffer 
每個進(jìn)行一個順序掃描的線程為其掃描的每張表分配這個大小的一個緩沖區(qū)。如果你做很多順序掃描,你可能想要增加該值。 
sort_buffer 
每個需要進(jìn)行排序的線程分配該大小的一個緩沖區(qū)。增加這值加速ORDER BY或GROUP BY操作。見18.5 MySQL在哪兒存儲臨時文件。 
table_cache 
為所有線程打開表的數(shù)量。增加該值能增加mysqld要求的文件描述符的數(shù)量。MySQL對每個唯一打開的表需要2個文件描述符,見下面對文件描述符限制的注釋。對于表緩存如何工作的信息,見10.2.4 MySQL怎樣打開和關(guān)閉表。 
tmp_table_size 
如果一張臨時表超出該大小,MySQL產(chǎn)生一個The table tbl_name is full形式的錯誤,如果你做很多高級GROUP BY查詢,增加tmp_table_size值。 
thread_stack 
每個線程的棧大小。由crash-me測試檢測到的許多限制依賴于該值。缺省隊一般的操作是足夠大了。見10.8 使用你自己的基準(zhǔn)。 
wait_timeout 
服務(wù)器在關(guān)閉它之前在一個連接上等待行動的秒數(shù)。也可見interactive_timeout。 
MySQL使用是很具伸縮性的算法,因此你通常能用很少的內(nèi)存運行或給MySQL更多的被存以得到更好的性能。 

如果你有很多內(nèi)存和很多表并且有一個中等數(shù)量的客戶,想要最大的性能,你應(yīng)該一些象這樣的東西: 

shell> safe_mysqld -O key_buffer=16M -O table_cache=128 \ 
?????-O sort_buffer=4M -O record_buffer=1M & 

如果你有較少的內(nèi)存和大量的連接,使用這樣一些東西: 
shell> safe_mysqld -O key_buffer=512k -O sort_buffer=100k \ 
?????-O record_buffer=100k & 

或甚至: 
shell> safe_mysqld -O key_buffer=512k -O sort_buffer=16k \ 
?????-O table_cache=32 -O record_buffer=8k -O net_buffer=1K & 

如果有很多連接,“交換問題”可能發(fā)生,除非mysqld已經(jīng)被配置每個連接使用很少的內(nèi)存。當(dāng)然如果你對所有連接有足夠的內(nèi)存,mysqld執(zhí)行得更好。 

注意,如果你改變mysqld的一個選項,它實際上只對服務(wù)器的那個例子保持。 

為了明白一個參數(shù)變化的效果,這樣做: 

shell> mysqld -O key_buffer=32m --help 

保證--help選項是最后一個;否則,命令行上在它之后列出的任何選項的效果將不在反映在輸出中。

相關(guān)文章

最新評論